注入的脚本在Firefox 4中没有显示警告

Injected script doesn't show alert in Firefox 4

本文关键字:显示 警告 脚本 Firefox 注入      更新时间:2023-09-26

下面的代码来自我的扩展。它可以在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);
} 

尝试创建一个脚本元素,而不是在span中使用innerHTML。然后创建一个包含要注入的代码的文本节点,将其附加到脚本中,然后将脚本附加到正文中。

你到底想干什么?为什么不引用外部JS呢?