openerTabId в Chrome изменен на неопределенный - PullRequest
0 голосов
/ 25 мая 2019

Я пишу простое расширение Chrome, которое сообщает openerTabId активной вкладке.

Поначалу работает как обычно.Но когда я создаю новую вкладку и переключаюсь на старые вкладки, все старые вкладки 'openerTabId превращаются в undefined

Вот мой код:

/////////////////////// popup.js ///////////////////////
'use strict';

chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
    for(var i=0; i < tabs.length; ++i) {
      alert(tabs[i].id + ": opened from: " + tabs[i].openerTabId);
    }
});

/////////////////////// popup.html ///////////////////////
<script src="popup.js"></script>

/////////////////////// manifest.json ///////////////////////
{
  "name": "TabTest",
  "version": "1.0",
  "permissions": ["tabs"],
  "browser_action": {
    "default_popup": "popup.html"
  },
  "manifest_version": 2
}

Шаги для воспроизведения:

  1. откройте вкладку, перейдите на любой веб-сайт
  2. щелкните любую ссылку на вкладке, чтобы открыть дочернюю вкладку t1
  3. нажмите кнопку действия браузера, чтобы проверитьдочерние вкладки openerTabId id1
  4. открыть новую пустую вкладку
  5. переключиться обратно на вкладку t1, нажать кнопку действия браузера, чтобы проверить дочерние вкладки openerTabId id2
  6. обнаружите, что id1 != id2 && id2 is undefined

Есть ли какие-либо советы по поводу причины или любого другого надежного способа получить родителя вкладки?

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