Google chrome extension 另一个交叉XHR相关

Google chrome extension 另一个交叉XHR相关,google-chrome-extension,xmlhttprequest,google-chrome-devtools,Google Chrome Extension,Xmlhttprequest,Google Chrome Devtools,我知道有一大堆关于“不允许由访问控制允许来源”的问题。错误 但我试过其中一些,但没有成功( 一些任命: 我正在尝试构建一个开发工具选项卡扩展 我可以触摸flickr API,就像看电视一样 我联系不到localhost 已经尝试了几个权限通配符 http://localhost/ http://*/ *://*/ 已经尝试过打包和解包扩展 目前,manifest.json已被删除 "version": "0.0.1", "manifest_version": 2, "devtools_pa

我知道有一大堆关于“不允许由访问控制允许来源”的问题。错误

但我试过其中一些,但没有成功(

一些任命:

  • 我正在尝试构建一个开发工具选项卡扩展
  • 我可以触摸flickr API,就像看电视一样
  • 我联系不到localhost
已经尝试了几个权限通配符

http://localhost/
http://*/
*://*/
已经尝试过打包和解包扩展

目前,manifest.json已被删除

"version": "0.0.1",
"manifest_version": 2,
"devtools_page": "components/devtools.html",
"permissions": [
    "http://*/"
]
devtools.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <script src="../js/devtools.js"></script>
</body>
</html>
Chrome控制台输出:

1 devtools.js:12
Refused to set unsafe header "Origin" devtools.html:1
XMLHttpRequest cannot load http://apache.local/. Origin chrome-extension://nafbpegjhkifjgmlkjpaaglhdpjchlhk is not allowed by Access-Control-Allow-Origin. devtools.html:1
4 devtools.js:12
flickr ok devtools.js:8
Chrome版本: 28.0.1500.20开发

谢谢你的建议。

我知道了

实际上,问题是我试图在devtools页面上执行XHR请求,而它似乎没有权限像弹出页面那样绕过跨源访问策略

Devtools选项卡尝试也不成功

编辑

是与阶段权限相关的。不是通配符权限。正如我所说的,我已经在某些域上执行了查询,但在我的权限数组中没有明确的查询

问题实际上在于脚本运行的类型

同样的脚本,如果用作弹出窗口,也可以。因此,我也尝试了作为背景脚本并取得了成功!我面临的问题是devtools_页面和相关页面没有这样的权限

“开发人员工具”窗口中的扩展页面可用的API包括上面列出的所有devtools模块和chrome.extension API。其他扩展API对开发人员工具页面不可用,但您可以通过向扩展的后台页面发送请求来调用它们,类似于在内容脚本中的操作方式。

该级别的脚本拒绝非显式交叉XHR

解决了将请求放入后台脚本并使用的问题


谢谢!

很高兴了解事件处理程序。对调试和其他应用程序很有用。我认为您之所以使用它是因为setRequestHeader调用。但这只是另一次失败的尝试。您的权限通配符缺少路径通配符。目前它只与站点的根匹配。添加星号以使其工作。例如
*://*
我真的很感谢你帮助我的努力。一定要记住这不是一个通配符相关的问题。只是编辑我的答案来澄清。非常感谢。
1 devtools.js:12
Refused to set unsafe header "Origin" devtools.html:1
XMLHttpRequest cannot load http://apache.local/. Origin chrome-extension://nafbpegjhkifjgmlkjpaaglhdpjchlhk is not allowed by Access-Control-Allow-Origin. devtools.html:1
4 devtools.js:12
flickr ok devtools.js:8