2010-02-09 2 views
2

Может ли кто-нибудь сказать мне, как получить URl следующей вкладки в firefox? Я использую это сейчас:Разработка расширений Firefox: получить URL-адрес новой вкладки

//The browser object points to the new tab which I capture using the 
//'TabOpen' Event 
var browser = gBrowser.getBrowserForTab(event.target); 

//From where can I get the URL of this new tab ? Also, how to I get 
//the Title of this new Tab 

Заранее спасибо ..

ответ

14

Давайте попробуем выяснить это вместе. Сначала search google for "getBrowserForTab", чтобы увидеть, какой объект он возвращает. Вы увидите страницу с примерами как первый удар, а reference page - второй удар. Последнее - это то, что мы ищем. В нем говорится:

[getBrowserForTab (tab)] Возвращает browser для указанного элемента табуляции.

Перейдите по ссылке для browser, чтобы узнать, какие свойства и методы у этого объекта есть.

Вы увидите, что у него есть свойство contentTitle («Это свойство только для чтения содержит название объекта документа в браузере.»), Которое отвечает на вторую часть вашего вопроса.

Аналогичным образом вы увидите, что у него есть свойство currentURI, которое возвращает «загруженный URL». Возвращаемый объект является nsIURI, чтобы получить его строковое представление, вам нужно использовать currentURI.spec, как описано в nsIURI documentation.

Так, чтобы подвести итог:

var title = browser.contentTitle; // returns the title of the currently loaded page 
var url = browser.currentURI.spec; // returns the currently loaded URL as string 

Вы также можете просто получить объекты window/document на странице контента с помощью browser.contentWindow/browser.contentDocument и получить название/URL (и другие вещи) с помощью API, вы бы использовать на обычной веб-странице.

Надеюсь, это поможет, и вы попытаетесь сделать это самостоятельно в следующий раз, когда зададите вопрос (и если вы не можете найти документацию или не можете понять ее, укажите, какие конкретные проблемы вы столкнулись).

+0

wow .. большое спасибо. :) – coder