Jos*_*arl 5 javascript google-chrome
我正在开发一个名为Remember the Milk API的小型Chrome扩展程序.谷歌有一个使用Flikr API 的好例子,我正在使用它作为我的扩展的基础.他们的示例在我的浏览器中完美运行(Linux上的最新Chrome).
但是当我换掉Remember the Milk API方法名称和API密钥时,我收到以下错误:
XMLHttpRequest cannot load http://api.rememberthemilk.com/services/rest/?method=rtm.test.echo&api_key=xxxxxxxxxxxxxxxxxxxxxx&name=Test%20task.
Origin chrome-extension://lifnmciajdfhj is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)
我的代码看起来像这样:
var req = new XMLHttpRequest();
req.open(
"GET",
"http://api.rememberthemilk.com/services/rest/?" +
"method=rtm.test.echo&" +
"api_key=xxxxxxxxxxxxxxxxxxxxxxxxxx&" +
"name=Test%20task",
true);
req.onload = onResponseReceived;
req.send(null);
function onResponseReceived() {
console.log("It worked.");
}
Run Code Online (Sandbox Code Playgroud)
有什么建议?
并且......像往常一样,在这里发布的几分钟内解决了.问题是该manifest.json
文件,该文件最初具有Flikr API权限.我已将它们更新为指向记住牛奶,但显然您需要卸载并重新安装扩展以重新注册权限.
谷歌有一个很好的教程,处理扩展中的XHR.
这是更新的manifest.json
.也许它对其他人有帮助.
{
"name": "Remember the Milk",
"version": "1.0",
"description": "A Remember the Milk extension.",
"browser_action": {
"default_icon": "rtm.png",
"popup": "popup.html"
},
"permissions": [
"http://*.rememberthemilk.com/",
"https://*.rememberthemilk.com/"
]
}
Run Code Online (Sandbox Code Playgroud)