Страницы: 1
Задача, сразу после загрузки странички на активной вкладке начать выполнять некие действия.
Сразу - это десятые доли секунды
Используя команду вида:
function pageSwitched(){ alert("Страничка загружена, продолжаю работать."); } getBrowser().addEventListener("load", pageSwitched(), false);
можно проверить состояние странички на момент вызова.
По идее должна вызываться сразу после команды перехода по заданному адресу.
Но если нажать, к примеру F5, а потом запустить проверку - то скажет, что страничка загружена, т.к. это ещё старая страничка и переход не успел начаться.
Это первая проблема.
Вторая в том что если загрузка новой странички началась то команда по окончании загрузки не выполнится.
Как это можно решить? Пока есть лишь вариант запуска проверки в цикле, но вдруг есть более интересные варианты?
Содержимое и адрес странички активной вкладки может и не измениться, при переходе.
Отсутствует
я использую такой метод и никаких проблем не встретил
Спасибо, Shutnik. Тогда просмотрел тему, но не разобрался.
Но после того как ткнули носом всё увидел и понял, что это ОНО
Правда не получается использовать это нужным образом.
function my_unload_listener(){ alert("beforeunload"); } function my_load_listener (event) { var doc = event.originalTarget; var win = getBrowser().selectedBrowser.contentDocument; if(doc == win) { //alert("load"); rr=123; // активный таб } } var rr=0; function rrr(){ var appcontent = document.getElementById("appcontent"); if(!appcontent) return; appcontent.addEventListener("load", my_load_listener, true); appcontent.addEventListener("beforeunload", my_unload_listener, true); } loadURI ("forum.mozilla-russia.org", null, null); rrr(); if(rr==123) alert("Всё сработало верно. Продолжаем работу."); else alert("Нет!");
Ни разу алерт не выдал, что всё сработало.
И функции my_load_listener и my_unload_listener вызываются каждый раз при переходе, даже если не задействую код, а просто перехожу по ссылкам браузера. Если использую код, то количество их вызывов нарастает (страничка всё таже). Как-нибудь ограничить можно?
Отредактировано Орец (24-11-2008 01:11:28)
Отсутствует
Страницы: 1