【发布时间】:2015-09-09 21:19:19
【问题描述】:
在我的 chrome 扩展的内容脚本中,我会在完成加载后将外部 js 文件动态加载到 html 页面上。我加载的这个 js 文件将定义一个名为 rfk 的变量。当rfk 被定义时,我设置了一个间隔,它将执行一个脚本。但是,即使在成功加载页面后,我的内容脚本也永远找不到要定义的rfk,即使我可以通过浏览器控制台检查并发现rfk 存在。
"content_scripts": [
{
"matches": ["*://www.att.com/*"],
"js": ["att.js"],
"run_at":"document_end"
}
]
这是我 att.js 文件中的代码 sn-p:
alert('hey!');
document.body.style.backgroundColor="red";
var url="//product.reflektion.com/rfk/js/11165-52846072/init.js?cv=test&q="+(new Date).getTime()
, o = document, s = o.createElement("script");
s.type="text/javascript";
s.src=url;
o.getElementsByTagName("head")[0].appendChild(s);
var cE = setInterval(function(){
rfk && (demo="instagram",rfk.P.fs.rw.extra_args={drsp:{_v:demo}},rfk.rebuild(),clearInterval(cE))
},100);
【问题讨论】:
-
呃……你到底想在这里做什么?
-
顺便说一句,这是一个基本的内容脚本。 “动态加载”是使用 chrome.tabs.executeScript 或使用 Xan 链接到的答案中的一种方法。
标签: javascript google-chrome google-chrome-extension content-script