В расширении Firefox я временно сохраняю данные в javascript для отображения на боковой панели.Когда вкладка выбрана, я хочу изменить текст на боковой панели на правильные данные.Какой объект лучше всего использовать в качестве «идентификатора» для каждой вкладки?Я пытаюсь использовать объект вкладки.Тем не менее, я застрял на том, как связать данные на вкладке.В настоящее время я получаю событие загрузки документа на вкладке.Затем я обрабатываю данные в документе.После отображения новых данных на вкладке я хочу сохранить их на карте, используя вкладку в качестве ключа, чтобы можно было извлечь их по событию SelectTab.Однако я не уверен, как найти вкладку из документа в событии загрузки.
Поэтому, пожалуйста, скажите мне, как получить объект вкладки из объекта документа, или лучше использовать в качестве ключа.
Ниже я нашел один способ, но я уверен, что есть что-то более элегантное.
getTabForDocument : function (document) {
var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Components.interfaces.nsIWindowMediator);
for (var found = false, index = 0, tabbrowser = wm.getEnumerator('navigator:browser').getNext().gBrowser;
index < tabbrowser.tabContainer.childNodes.length && !found;
index++) {
// Get the next tab
var currentTab = tabbrowser.tabContainer.childNodes[index];
if (currentTab.linkedBrowser.contentWindow.document == document)
{
return currentTab;
}
}
return null;
},
Спасибо ...