用于 chrome 扩展协议的 XMLHttpRequest
我正在使用背景页面,我需要将一些代码注入到当前选项卡内容中。
所以我执行以下操作:
- 定义 browser_action
- 定义侦听器,如下所示
chrome.browserAction.onClicked.addListener
- 调用由 content_scripts 通过
chrome.tabs.executeScript
加载的脚本
并且从页面内容我需要从扩展文件夹中加载 html 资源。
但使用此 XMLHttpRequest 会出现错误 Cross origin requests are onlysupported for HTTP
由 XMLHttpRequest 处理,错误 NETWORK_ERR: XMLHttpRequest Exception 101
那么我应该如何解决它呢?
注意:地址类似于 chrome-extension://someextensionid/file.html
I'm using background page and I need to inject some code into current tab contents.
so I do following:
- define browser_action
- define listener like this
chrome.browserAction.onClicked.addListener
- calling script loaded by content_scripts via
chrome.tabs.executeScript
And from page content I need to load html resource from within extensions folder.
but using this XMLHttpRequest gives me error Cross origin requests are only supported for HTTP
handled by XMLHttpRequest by error NETWORK_ERR: XMLHttpRequest Exception 101
So how am I supposed to solve it?
Note: address is like chrome-extension://someextensionid/file.html
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用以下方法解决:
其中
这是在background_page中完成的,并传递到前台的脚本
,在前台,脚本将字符串转换为html字符串和dom对象
其中
Solved using:
where
this was done in background_page and passed to script in foreground using
and in foreground, script converted string to html-string and dom object
where
而不是:
您应该能够只使用:
因为
XMLHttpRequest
理解相对路径(根目录是您的扩展文件夹)。Instead of:
you should be able to just use:
as
XMLHttpRequest
understands relative path (with root being your extension folder).