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