Внедренный скрипт не показывает предупреждение в Firefox 4 - PullRequest
1 голос
/ 04 апреля 2011

Код ниже от моего расширения.Это работает в 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);

} 

1 Ответ

0 голосов
/ 20 апреля 2011

Попробуйте создать элемент сценария вместо использования innerHTML в промежутке.А затем создайте текстовый узел, содержащий код для внедрения, добавьте его в сценарий, а затем добавьте сценарий в тело.

Что вы пытаетесь сделать в любом случае?Почему бы не ссылаться на внешний JS?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...