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

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№107-09-2007 18:44:08

*lix
Участник
 
Группа: Members
Зарегистрирован: 02-09-2007
Сообщений: 18
UA: Firefox 2.0

узнать url страницы (проблемы)

По событию onload надо получить url загруженной страницы.
Обращаться просто к window._content.document.location не решение из-за следующей проблемы:
если открыть несколько вкладок и нажать (re)load на первой, а потом, до загрузки страницы перейти на вторую закладку, то window._content.document.location вернет адрес второй страницы.

Если я правильно понимаю достичь желаемого можно используя event в обработчике onload, только я не пойму как :blush:

пысы: поиском пользовался, ничего не нашел, так что если было - не бейте, а дайте ссылку

Отсутствует

 

№207-09-2007 19:14:23

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: узнать url страницы (проблемы)

*lix пишет

Обращаться просто к window._content.document.location не решение из-за следующей проблемы

а куда вы вешаете обработчик вообще?

Отредактировано shutnik (07-09-2007 19:16:29)

Отсутствует

 

№307-09-2007 19:19:38

*lix
Участник
 
Группа: Members
Зарегистрирован: 02-09-2007
Сообщений: 18
UA: Firefox 2.0

Re: узнать url страницы (проблемы)

если правильно понял вопрос - в расширении. Код примерно такой (лишнее обрезано):

Выделить код

Код:

function actions() {
	
   this.doLoad = doLoad;

   function doLoad(ev) {
      // here we are :)
   }
}

var actions = new actions();
window.addEventListener("load", actions.doLoad,true);

Отсутствует

 

№407-09-2007 19:29:45

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: узнать url страницы (проблемы)

*lix пишет

если правильно понял вопрос - в расширении

нет, вы "немного" неправильно поняли ;)

вы хотите выполнить код (получить урл) при загрузке определённого таба браузера?
почему же вы тогда вешаете обработчик на window? в каком chrome выполняется скрипт?
какие табы вы имеете ввиду в первом посте?

Отсутствует

 

№507-09-2007 19:40:17

*lix
Участник
 
Группа: Members
Зарегистрирован: 02-09-2007
Сообщений: 18
UA: Firefox 2.0

Re: узнать url страницы (проблемы)

вы хотите выполнить код (получить урл) при загрузке определённого таба браузера?
почему же вы тогда вешаете обработчик на window? в каком chrome выполняется скрипт?
какие табы вы имеете ввиду в первом посте?

1. не определенного, а любого. а уж урл конечно того, который загрузился.
2. куда вешать? перекрывается browser.xul и navigator.xul
3. ммм... Вкладки. Если в одном окне фокса открыто две страницы, то будут две вкладки. Вы меня в тупик поставили, какие еще табы бывают?

Отсутствует

 

№607-09-2007 20:16:04

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: узнать url страницы (проблемы)

*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)

Отсутствует

 

№707-09-2007 20:44:08

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: узнать url страницы (проблемы)

shutnik пишет

...onload почему-то не срабатывает...

browser (или tabbrowser - точно не помню) не пропускает onload в bubbling phase. Можно "поймать" onload в capture phase (т. е., с true третьим аргументом в addEventListener) и в обработчике узнать url документа через event. originalTarget. location. href (если обработчик поставлен на window).


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№810-09-2007 10:23:26

*lix
Участник
 
Группа: Members
Зарегистрирован: 02-09-2007
Сообщений: 18
UA: Firefox 2.0

Re: узнать url страницы (проблемы)

спасибо, все получилось, главное - надо было использовать событие DOMContentLoader, а не load.

Отсутствует

 

№911-09-2007 16:24:41

*lix
Участник
 
Группа: Members
Зарегистрирован: 02-09-2007
Сообщений: 18
UA: Firefox 2.0

Re: узнать url страницы (проблемы)

I'll be back )

По некоторым причинам получилось что мен надо все же ловить событие полной загрузки страницы - с картинками, флешем и т.п. Ясное дело, DOMContentLoaded срабатывает до всего этого. А ловя событие load я не могу узнать url загруженной страницы.
Если бы была одна вкладка, то и ладно - ясно что за страница, но вкладок много и грузятся страницы и их контент ясное дело не последовательно.

Выручите, а? Может есть способ получить url из события load?

Прошу прощения, когда же я, блин, буду внимательно читать чужие мессаги

Отредактировано *lix (11-09-2007 16:32:27)

Отсутствует

 

Board footer

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