chrome扩展中的跨源XMLHttpRequest

根据chrome extensions API,如果设置了权限,则应允许使用XMLHttpRequest对象进行跨源调用:

扩展可以与其源站之外的远程服务器进行通信,只要它首先请求跨源站权限

我正在密切关注教程,但下面的代码给了我一条错误消息:

无法加载XMLHttpRequesthttp://www.google.com/search?hl=en&q=ajax。起源铬-extension://bmehmboknpnjgjbmiaoidkkjfcgiimbo 访问控制允许原点不允许

我不仅允许向google.com提出请求,还允许向任何网站提出请求,但仍然无法通过。
有人能帮忙吗

我的清单文件:

{
“名称”:“弹出窗口”,
“版本”:“0.1”,
“popup”:“popup.html”,
“权限”:[
“http://*/*”,
“https://*/*”,
"https://www.google.com/*",
"http://www.google.com/*"
],
“浏览器操作”:{
“默认图标”:“clock-19.png”,
“默认标题”:“这是标题”,
“默认弹出窗口”:“popup.html”
}
}

实际通话:

函数sendRequest(){
文件。编写(“发送请求”);
var req=新的XMLHttpRequest();
请求打开(“获取”http://www.google.com/search?hl=en&q=ajax”,正确);
req.onreadystatechange=函数(){
如果(req.readyState==4){
如果(请求状态==200){
警报(请求响应文本);
文件。填写(“确定”);
}
}
};
请求发送();
}

两件事;你需要确保你正在制作一个打包的应用程序/扩展,而不是一个托管的应用程序/扩展。跨源请求将不适用于托管的应用程序。假设您已锁定该部分,您可能希望尝试将以下内容放入您的权限中:http://*/。这是我的一个打包应用程序中唯一的一个,它可以毫无问题地完成跨来源的工作

发表评论