![](/img/trans.png)
[英]Is it possible to perform a Cross-Origin XMLHttpRequest from a content script in Chrome?
[英]Cross-Origin XMLHttpRequest in chrome extensions
根据chrome扩展API,如果设置了权限,则应允许使用XMLHttpRequest对象进行跨域调用:
扩展可以与其来源之外的远程服务器通信,只要它首先请求跨源权限即可。
我正在密切关注本教程,但下面的代码给出了一条错误消息:
XMLHttpRequest无法加载http://www.google.com/search?hl=en&q=ajax 。 原始chrome-extension:// bmehmboknpnjgjbmiaoidkkjfcgiimbo不允许使用Access-Control-Allow-Origin。
我不仅允许google.com的请求,而且要求任何网站但仍然无法通过。 有人可以帮忙吗?
我的清单文件:
{
"name": "The popup",
"version": "0.1",
"popup": "popup.html",
"permissions": [
"http://*/*",
"https://*/*",
"https://www.google.com/*",
"http://www.google.com/*"
],
"browser_action": {
"default_icon": "clock-19.png",
"default_title": "This is title",
"default_popup": "popup.html"
}
}
实际的电话:
function sendRequest() {
document.write("Sending request");
var req = new XMLHttpRequest();
req.open("GET", "http://www.google.com/search?hl=en&q=ajax", true);
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.status == 200) {
alert(req.responseText);
document.write("OK");
}
}
};
req.send();
}
两件事情; 您需要确保制作打包的应用/扩展程序,而不是托管的应用程序/扩展程序。 跨源请求不适用于托管应用程序。 假设您已将该部分固定下来,您可能需要尝试将以下内容放入您的权限中: http://*/
。 对于我的一个打包应用程序来说,这是我唯一拥有的应用程序,它可以毫无问题地交叉原始内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.