Я пишу простое расширение 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
}
Шаги для воспроизведения:
- откройте вкладку, перейдите на любой веб-сайт
- щелкните любую ссылку на вкладке, чтобы открыть дочернюю вкладку
t1
- нажмите кнопку действия браузера, чтобы проверитьдочерние вкладки
openerTabId
id1
- открыть новую пустую вкладку
- переключиться обратно на вкладку
t1
, нажать кнопку действия браузера, чтобы проверить дочерние вкладки openerTabId
id2
- обнаружите, что
id1 != id2 && id2 is undefined
Есть ли какие-либо советы по поводу причины или любого другого надежного способа получить родителя вкладки?