0

У меня есть этот код в фоновом скрипте моего Firefox WebExtension, но она печатает: "OPENER ID: undefined" каждый раз, когда новая вкладка создаются:tab.openerTabId неопределенного в Firefox WebExtension

chrome.tabs.onCreated.addListener(function (tab) { 
    console.log("OPENER ID: " + tab.openerTabId); 
}); 

В чем проблема? Этот код хорошо работает в Chrome, и в документации говорится, что свойство openerTabId поддерживается в Firefox.

И да, openerTab все еще присутствует при создании новой вкладки (новая вкладка создается путем нажатия на какую-либо ссылку в openerTab).

ответ

-1

Во-первых, я считаю, Firefox использует

browser.tabs.onCreated.addListener(function(tab) {}); 

вместо

chrome.tabs.onCreated.addListener(function(tab) {}); 

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Chrome_incompatibilities

Я не думаю, что это то, что главная проблема в том, хотя, так как я пытался повторите эту проблему, и я тоже вижу, что фоновый скрипт не представляется возможным для доступа к свойству openerTabId (по крайней мере, из фона sc ript активируется нажатием на значок браузера). Я могу получить доступ к другим свойствам Tabs.tab, таким как статус, индекс и идентификатор, но НЕ свойство openerTabId. openerTabID продолжает читать как «неопределенный». Я не знаю, нужно ли делать специальные шаги, чтобы иметь доступ к этому свойству, в сравнении с тем, является ли эта ошибка (ошибка, так как в документации говорится, что она должна быть читаемой, если вкладка, которая называется открытием, все еще существует). https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/tabs/Tab

Было бы очень полезно, если бы вы предоставить более подробную информацию о том, как ваши кодирования логики выглядит (что же манифеста выглядеть ?, и т.д.), так что, возможно, более опытные вкладчики будут весить.

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

+0

Спасибо за ваш вклад! То же самое с браузером/хром. И я нашел, что это подтвержденная ошибка: https://bugzilla.mozilla.org/show_bug.cgi?id=1238314 Действительно непрофессионально из Mozilla, перечисляя его как поддерживаемое свойство ... – kecman

+0

Mozilla перечисляет это явно как **не поддерживается**. См. Https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/tabs/Tab#Firefox. –

+0

В настоящее время он явно указан как неподдерживаемый, но, если я не ошибаюсь, в то время, когда вопрос был первоначально задан, и я отправил ответ, он не был указан как неподдерживаемый. Поэтому ответ казался разумным в то время (декабрь 2016 года). https://github.com/mdn/browser-compat-data/pull/99/files https: // github.com/mdn/browser-compat-data/blob/b842d425b54fcae644ab9dbc585b2322f6caa3a0/webextensions/browser-compat-data.json –

0

Проблема в том, что Firefox does not supporttabs.Tab.openerTabId. compatibility notes for Firefox явно указать [курсив мой]:

'openerTabId' является не поддерживается.

Если вам действительно нужна эта информация, вы можете, в основном, отслеживать его самостоятельно, используя различные события: How to get openerTabId in Firefox WebExtensions?

Если это функциональность вы хотите видеть в качестве части WebExtensions API, я предлагаю вам file a bug к отслеживать его реализацию.

+0

Я реализовал его вручную, отслеживая все вкладки и их состояния. Позор, они не реализовали такую ​​тривиальную вещь, хотя ошибка была подана давным-давно. – kecman