是的,之前您已经看过这个主题。但是,Chrome已关闭了一个最常见的端口,以使用unsafeWindow
与目录一起使用脚本。
var unsafeWindow;
(function() {
var div = document.createElement("div");
div.setAttribute("onclick", "return window");
unsafeWindow = div.onclick();
})();
现在div.onclick
返回 null 。
我的问题是:目前还有另一种通过目录脚本访问unsafeWindow
的方法吗?例如,我想访问页面本身使用的jQuery。
unsafeWindow.jQuery().jquery; // <- 1.9.0
答案 0 :(得分:1)
好吧,我有一份决定草案给你。也许这就是你需要的?
Injected.js 在原始窗口范围内工作, contentscript.js 在其隔离的窗口范围内工作。问题是你没有unsafeWindow变量,但我认为你可以使用这个变量将你的代码包装在一些函数中。
*的的manifest.json 强>
"web_accessible_resources": ["injected.js"],
"content_scripts": [{
"matches": ["*://*/*"],
"js": ["js/content.js"]
}],
...
<强> contentscript.js 强>
var internalScript = document.createElement("script");
internalScript.src = chrome.runtime.getURL("injected.js");
document.body.appendChild(internalScript);
<强> injected.js 强>
console.log(window);
console.log(window.$);