Страницы: 1
По событию onload надо получить url загруженной страницы.
Обращаться просто к window._content.document.location не решение из-за следующей проблемы:
если открыть несколько вкладок и нажать (re)load на первой, а потом, до загрузки страницы перейти на вторую закладку, то window._content.document.location вернет адрес второй страницы.
Если я правильно понимаю достичь желаемого можно используя event в обработчике onload, только я не пойму как
пысы: поиском пользовался, ничего не нашел, так что если было - не бейте, а дайте ссылку
Отсутствует
Обращаться просто к window._content.document.location не решение из-за следующей проблемы
а куда вы вешаете обработчик вообще?
Отредактировано shutnik (07-09-2007 19:16:29)
Отсутствует
если правильно понял вопрос - в расширении. Код примерно такой (лишнее обрезано):
function actions() { this.doLoad = doLoad; function doLoad(ev) { // here we are :) } } var actions = new actions(); window.addEventListener("load", actions.doLoad,true);
Отсутствует
если правильно понял вопрос - в расширении
нет, вы "немного" неправильно поняли
вы хотите выполнить код (получить урл) при загрузке определённого таба браузера?
почему же вы тогда вешаете обработчик на window? в каком chrome выполняется скрипт?
какие табы вы имеете ввиду в первом посте?
Отсутствует
вы хотите выполнить код (получить урл) при загрузке определённого таба браузера?
почему же вы тогда вешаете обработчик на window? в каком chrome выполняется скрипт?
какие табы вы имеете ввиду в первом посте?
1. не определенного, а любого. а уж урл конечно того, который загрузился.
2. куда вешать? перекрывается browser.xul и navigator.xul
3. ммм... Вкладки. Если в одном окне фокса открыто две страницы, то будут две вкладки. Вы меня в тупик поставили, какие еще табы бывают?
Отсутствует
*lix
так более понятно, хотя я не уверен, что вызываемый из browser.xul window будет таббраузером (tabbrowser)
из расширения у меня получилось повесить обработчик так (onload почему-то не срабатывает, поставил DOMContentLoaded, посткольку практически одно и то же):
var browser=Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator).getMostRecentWindow("navigator:browser").getBrowser(); browser.addEventListener("DOMContentLoaded",function(event){ alert(event.target.location.href); } , false);
Отредактировано shutnik (07-09-2007 20:16:36)
Отсутствует
...onload почему-то не срабатывает...
browser (или tabbrowser - точно не помню) не пропускает onload в bubbling phase. Можно "поймать" onload в capture phase (т. е., с true третьим аргументом в addEventListener) и в обработчике узнать url документа через event. originalTarget. location. href (если обработчик поставлен на window).
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
I'll be back )
По некоторым причинам получилось что мен надо все же ловить событие полной загрузки страницы - с картинками, флешем и т.п. Ясное дело, DOMContentLoaded срабатывает до всего этого. А ловя событие load я не могу узнать url загруженной страницы.
Если бы была одна вкладка, то и ладно - ясно что за страница, но вкладок много и грузятся страницы и их контент ясное дело не последовательно.
Выручите, а? Может есть способ получить url из события load?
Прошу прощения, когда же я, блин, буду внимательно читать чужие мессаги
Отредактировано *lix (11-09-2007 16:32:27)
Отсутствует
Страницы: 1