2013-07-29 6 views
2

Я работаю над расширением firefox. У меня есть значок в панели дополнений и для каждой вкладки, которую пользователь выбирает, я хочу проверить, включен ли этот значок.
Я создал объект, который содержит имя (ключа) и его статус (значение или выключен) .Но я не знаю, что положить в ключе, который быть уникального для вкладки, которые могут быть ссылочный позже.
Я проверил объект gBrower и нашел linkedPanel id, что я думаю, что это уникально. Мое решение вообще не так? Если нет, то как я могу получить доступ к идентификатору связанной панели?как идентифицировать вкладки по уникальному идентификатору?

+0

вы можете создать свой собственный уникальный идентификатор !!!, но когда я столкнулся с той же проблемой, это было для вкладки ... и я создал уникальный идентификатор при загрузке каждой веб-страницы !!! Я могу дать вам Идентификатор ... но не уверен в событии ... так как я считаю, что в адресной строке нет URL-адреса !!! –

+0

no.i не хочу добавлять id в tab.i, чтобы использовать уникальное свойство tab. – jabbar

ответ

2

Насколько я знаю, вкладки не имеют полностью уникального идентификатора, как вы хотите.

Вы можете проверить эти записи на Bugzilla запрашивающий то же самое:

Bug 795645 - the Tab object should have a unique id

Bug 529477 - Provide a unique-per-session id for a tab in a tabbrowser

Вы можете использовать действительно linkedpanel, но при перемещении вкладки в новом окне, то linkedpanel идентификатор изменится.

Если вы хотите использовать его, вы можете сделать:

gBrowser.selectedTab.linkedPanel получит Вас linkedPanel для selectedTab.

Другой способ сделать это (например, MESSIAH) - дать ему свойство expando, чтобы идентифицировать каждую вкладку. Вы можете увидеть ответ Владимира на this question, чтобы помочь вам в этом.

Смежные вопросы