以下代码来自我的扩展程序。它适用于FF 3.6,但不适用于FF 4.0。在FF 4.0中,它仅适用于页面“about:home”。怎么了?
// set up our page load handler
window.addEventListener(
"load",
function () {
gBrowser.addEventListener("load", examplePageLoad, true);
},
false
);
function examplePageLoad(event)
{
var doc = event.originalTarget;
if (!(doc instanceof HTMLDocument))
return; // ignore images, etc
if (doc.defaultView.frameElement)
return; // ignore frames and iframes
var jsspan = doc.createElement("span");
jsspan.innerHTML="<script type=\"text/javascript\">\
\
function test_function() { alert('hello'); }\
test_function();\
\
</script>";
doc.body.appendChild(jsspan);
}
答案 0 :(得分:0)
尝试创建脚本元素,而不是在span中使用innerHTML。然后创建一个包含要注入的代码的文本节点,将其附加到脚本,然后将脚本附加到正文。
你还想做什么?为什么不引用外部JS?