我正在撰写一个小型Chrome扩展程序,其中包含content_script
。
它会在单个域上运行,我正在尝试改进网站。
我想在我的内容脚本中使用jQuery
,但该网站也使用jQuery
,因此我不能简单地将jQuery添加到我的扩展程序的content_script
数组中。
我的content_script
将
"run_at": "document_end"
但jQuery
尚未加载。它也没有加载到document_idle
。
所以我必须等待它。
我该怎么做?
我试过这样做:
(function() {
var i = setInterval(function () {
console.log(typeof jQuery + " " + i);
if (typeof jQuery != "undefined") {
console.log("jQuery loaded");
clearInterval(i);
} else {
console.log("jQuery not loaded");
}
}, 200);
})();
但由于某些原因typeof jQuery
总是在该循环中未定义。
如果我手动clearInterval
,请检查typeof jQuery
我正确获得"function"
(铬检查员控制台)
有什么想法吗?
编辑:
content_script
很特别:
内容脚本是在Web上下文中运行的JavaScript文件 页面。通过使用标准文档对象模型(DOM),他们可以 阅读浏览器访问或更改的网页的详细信息 它们。
答案 0 :(得分:6)
我不能简单地将jQuery添加到我的扩展程序的
content_script
数组中。
你可以而且应该。扩展变量空间是沙箱,因此内容脚本无法从父页面访问变量,反之亦然。