Ссылка на всплывающее окно в скрипте содержимого Chrome теряется - PullRequest
0 голосов
/ 09 июня 2018

В скрипте содержимого расширения chrome я хотел бы открыть всплывающее окно и получить ссылку, чтобы я мог отправлять сообщения в окно и закрывать его в событии onbeforeunload.

Однако кажется, что ссылка существует только в локальной области, и она теряется в любых других замыканиях.

Например, если я использую следующий код в скрипте содержимого:

var popup = window.open("https://example.com/", 'popwin');
console.log("@1", popup);
setTimeout(function(){
  console.log("@2", popup);
}, 2000);

Здесьэто то, что я вижу в окне консоли

@ 1 Window {window: Окно, self: Window, местоположение: Location, закрыто: false, frames: Window,…}

@2 global {}


И это даже то же самое, если я использую свойство глобального окна для хранения ссылки, то есть

window.popup = window.open("https://example.com/", 'popwin');
console.log("@1", window.popup);
setTimeout(function(){
  console.log("@2", window.popup);
}, 2000);

@ 1 Window {window: Window, self: Window, location: Location, closed: false, фреймы: Window,…}

@ 2 global {}

Есть идеи по этому поводу?Большое спасибо.

...