Глядя на объектах, доступных и в source code, похоже, где вы должны получить URI для активных вкладок является:
Из текущего nsIURI
:
window.gBrowser.currentURI.spec
объект window.gBrowser.currentURI
возвращает nsIURI
, который имеет ряд свойств, из которых вы можете получить URI, в том числе:
[nsIURI].spec //Returns a string representation of the URI.
[nsIURI].asciiSpec //The URI spec with an ASCII compatible encoding.
[nsIURI].specIgnoringRef //Returns a string representation of the URI without the ref
// (part after the #) portion.
Вы также можете получить nsIURI
для текущей выбранной вкладки, как:
window.gBrowser.selectedBrowser._documentURI
От urlbar
:
Вы могли бы, конечно, вытащить URL из urlbar
:
window.document.getElementById('urlbar').value
Нахождение window
:
Все вышесказанное предполагает, что вы установили window
соответственно в текущее активное окно. Например, делая что-то вроде:
// Add/remove a "/" to comment/un-comment the code appropriate for your add-on type.
/* Add-on SDK:
let window = require('sdk/window/utils').getMostRecentBrowserWindow();
//*/
//* Overlay and bootstrap (from almost any context/scope):
Components.utils.import("resource://gre/modules/Services.jsm"); //Services
let window=Services.wm.getMostRecentWindow("navigator:browser");
//*/
Что [вид расширения Firefox] (https://developer.mozilla.org/en-US/Add-ons) вы делаете ([WebExtensions] (HTTPS: //developer.mozilla.org/en-US/Add-ons/WebExtensions), [Add-on SDK] (https://developer.mozilla.org/en-US/Add-ons/SDK), [Bootstraped] (https://developer.mozilla.org/en-US/Add-ons/Bootstrapped_extensions) или [Overlay/XUL/Legacy] (https://developer.mozilla.org/en-US/Add-ons/Overlay_Extensions))? Пожалуйста, отредактируйте соответствующий тег в свой вопрос. Из вашего использования 'window.gBrowser', скорее всего, будет Bootstraped, или Overlay/XUL/Legacy. – Makyen
Да, это Bootstraped, или Overlay/XUL/Legacy. Полагаю, я не могу добавить новые теги самостоятельно? –
Вы всегда можете отредактировать свой вопрос, включая добавление или удаление тегов. Я добавил теги для bootstrapped/restartless и overlay. – Makyen