【发布时间】:2025-11-27 18:30:01
【问题描述】:
我正在使用后台页面,我需要在当前选项卡内容中注入一些代码。
所以我做了以下事情:
- 定义 browser_action
- 像这样定义监听器
chrome.browserAction.onClicked.addListener - 通过
chrome.tabs.executeScript调用content_scripts加载的脚本
从页面内容我需要从扩展文件夹中加载 html 资源。
但是使用这个 XMLHttpRequest 会给我错误Cross origin requests are only supported for HTTP
由 XMLHttpRequest 处理,错误 NETWORK_ERR: XMLHttpRequest Exception 101
那我该怎么解决呢?
注意:地址类似于chrome-extension://someextensionid/file.html
【问题讨论】:
-
也许您可以向后台页面发送请求,后台页面将执行实际的数据获取。然后后台页面将此数据发送到内容脚本。
-
以及如何通过
executeScript发送 DOMDocument 类型的变量? -
我认为“加载 html 资源”是指 HTML 源代码,它只是一个字符串。如果您指的是 HTML 中的外部文件,那么它可能会变得很棘手。
-
是的,我正在尝试加载 HTML 文件并通过 appendChild 将其添加到 document.body
-
将源(字符串)发送到内容脚本,然后你可以在那里解析它,例如jQuery,并将某些元素附加到正文。
标签: javascript google-chrome google-chrome-extension xmlhttprequest