Подскажите, пожалуйста, как "заставить" расширение исполнять скрипт каждый раз при загрузке страницы. Сейчас он у меня прописан в XUL , но срабатывает только один раз. Я так понимаю , что нужно отслеживать с помощью расширения событие загрузки страницы, но как ?

Выделить код

Код:

addEventListener(
    "DOMContentLoaded",
    function(e) {
        var doc = e.target;
        var win = doc.defaultView;
        if(win != win.top) // Ignore frames
            return;
        alert("Page loaded:"+doc.location.href);
//-------------сюда втыкаем свой код обработки страницы,её содержимое в doc
//------------------- 
   },
    true,
    document.getElementById("appcontent")
);
okkamas_knife пишет

Я правильно понимаю, что нужно
addEventListener впихнуть в секцию <script>....</script> в самом XUL-е ? Или нет?

Видимо я что-то недопонял . В xul есть запись -

Выделить код

Код:

....
<script type='application/x-javascript' src="some.js" />
....

В скрипте -

Выделить код

Код:

......
function Gb(){
 alert("gut");
}
window.addEventListener("DOMContentLoaded",Gb(),false);
......

Срабатывает только один раз при загрузке раузера. При открытии нового окна ничего не происходит.

13-08-2013 17:35:49
Все разобрался - в window.addEventListener второй параметр (функция) должна быть без скобок. Тобиш так

Выделить код

Код:

......
window.addEventListener("DOMContentLoaded",Gb,false);
......

P.S. Спасибо, okkamas_knife!