我正在使用背景页面,我需要在当前标签内容中注入一些代码。
所以我做了以下事情:
chrome.browserAction.onClicked.addListener
chrome.tabs.executeScript
从页面内容我需要从扩展文件夹中加载html资源。
但使用此XMLHttpRequest会给我错误Cross origin requests are only supported for HTTP
由错误NETWORK_ERR: XMLHttpRequest Exception 101
那我该怎么解决呢?
注意:地址类似于chrome-extension://someextensionid/file.html
答案 0 :(得分:2)
解决使用:
btoa(loadXHR(chrome.extension.getURL('file.html')))
,其中
这是在background_page中完成的,并使用
传递给前台的脚本chrome.tabs.executeScript
并且在前台,脚本将字符串转换为html-string和dom对象
var div = document.createElement('div');
div.innerHTML = atob(tbr);
document.body.appendChild(div);
,其中
答案 1 :(得分:1)
而不是:
btoa(loadXHR(chrome.extension.getURL('file.html')))
你应该可以使用:
loadXHR('file.html')
因为XMLHttpRequest
了解相对路径(root是你的扩展文件夹)。