Разработка расширения Firefox: Получить URL новой вкладки - PullRequest
2 голосов
/ 09 февраля 2010

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

//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

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

1 Ответ

14 голосов
/ 09 февраля 2010

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

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

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

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

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

Итак, подведем итог:

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, которые вы будете использовать в обычной сети стр.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...