Нет свойства openerTabId для всплывающих окон - PullRequest
1 голос
/ 05 июля 2019

Я получил два html с следующим образом.

index1.html

<html>
<body>
    <button 
        onclick="
            window.open(
                'https://www.google.com', 
                'sample')">
        click
     </button>
</body>
</html>

index2.html

<html>
<body>
    <button 
        onclick="
            window.open(
                'https://www.google.com', 
                'sample', 
                'height=200,width=150')">
        click
     </button>
</body>
</html>

нажмите кнопку на странице index1открывает страницу Google рядом с текущей вкладкой в ​​том же окне, а index2 открывает ее как всплывающее окно.

Я слушаю chrome.tabs.onCreated события в background.

background.js

chrome.tabs.onCreated.addListener(tab => console.log(tab.openerTabId));

// results
//index1 >>> 42
//index2 >>> undefined

Здесь я считаю, что openerTabId должно существовать и для всплывающих окон.chrome.tabs.get() результаты для всплывающей вкладки также не содержат openerTabId.Однако объект window.opener не является нулевым во всплывающем окне.

С https://developers.chrome.com/extensions/tabs#type-Tab

Идентификатор вкладки, открывшей эту вкладку, если таковая имеется.Это свойство присутствует, только если вкладка сошника все еще существует.

В моем случае вкладка opener существует.Звучит как ошибка?

1 Ответ

0 голосов
/ 05 июля 2019

Обратите внимание, что это не точное решение, но я обнаружил, что событие chrome.webNavigation.onCreatedNavigationTarget передает sourceTabId свойство, которое является openerTabId. Однако для этого требуется разрешение webNavigation.

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