Полезная информация

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.

№105-07-2013 13:02:18

appsmm
Участник
 
Группа: Members
Зарегистрирован: 04-07-2013
Сообщений: 9
UA: Opera 11.6

обработчик с заданным интервалом на загружаемую страницу

Надо создать обработчик загружаемой старницы, чтобы стоял на ней таймер, или Listener, и через какоето время запускал функцию с доступом к телу страницы

Использую такой пример для обработки страницы

Выделить код

Код:

var myExtension = {
    init: function() {
        // The event can be DOMContentLoaded, pageshow, pagehide, load or unload.
        if(gBrowser) gBrowser.addEventListener("DOMContentLoaded", this.onPageLoad, false);
    },
    onPageLoad: function(aEvent) {
        const doc = aEvent.originalTarget; // doc is document that triggered the event
        var win = doc.defaultView; // win is the window for the doc
        // test desired conditions and do something
        // if (doc.nodeName == "#document") return; // only documents
        // if (win != win.top) return; //only top window.
        // if (win.frameElement) return; // skip iframes/frames
        

alert("page is loaded \n" +doc.location.href);
        
}
}
window.addEventListener("load", function load(event){
    window.removeEventListener("load", load, false); //remove listener, no longer needed
    myExtension.init();  
},false);

попробовал поставить такой таймер


Выделить код

Код:

var myExtension = {
    init: function() {
        // The event can be DOMContentLoaded, pageshow, pagehide, load or unload.
        if(gBrowser) gBrowser.addEventListener("DOMContentLoaded", this.onPageLoad, false);
    },
    onPageLoad: function(aEvent) {
        const doc = aEvent.originalTarget; // doc is document that triggered the event
        var win = doc.defaultView; // win is the window for the doc
        // test desired conditions and do something
        // if (doc.nodeName == "#document") return; // only documents
        // if (win != win.top) return; //only top window.
        // if (win.frameElement) return; // skip iframes/frames
        
function TimeE(doc)
{
alert("page is loaded \n" +doc.location.href);
[b]setTimeout('TimeE(doc);', 7000);[/b]
}


TimeE(doc);    



    
        
}
}
window.addEventListener("load", function load(event){
    window.removeEventListener("load", load, false); //remove listener, no longer needed
    myExtension.init();  
},false);

При таком примере, таймер не может получить из функции, доступ к doc,

Отредактировано appsmm (05-07-2013 13:03:37)

Отсутствует

 

№205-07-2013 13:35:38

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 22.0

Re: обработчик с заданным интервалом на загружаемую страницу

Выделить код

Код:

setTimeout(function() {
    TimeE(doc);
}, 7000);

Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№305-07-2013 13:50:23

appsmm
Участник
 
Группа: Members
Зарегистрирован: 04-07-2013
Сообщений: 9
UA: Opera 11.6

Re: обработчик с заданным интервалом на загружаемую страницу

Infocatcher пишет
Выделить код

Код:

setTimeout(function() {
    TimeE(doc);
}, 7000);

благодарю! сработало = )

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]