Chrome内容脚本中对弹出窗口的引用会丢失

时间:2018-06-09 05:02:12

标签: javascript google-chrome-extension popupwindow content-script

在chrome扩展程序的内容脚本中,我想打开一个弹出窗口并获取引用,以便我可以向窗口发送消息,并在var popup = window.open("https://example.com/", 'popwin'); console.log("@1", popup); setTimeout(function(){ console.log("@2", popup); }, 2000); 事件中关闭它。

但是,似乎引用只存在于本地范围内,并且在任何其他闭包中都会丢失。

e.g。如果我在内容脚本中使用以下代码:

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,frames:Window,...}

     

@ 2 global {}

如果我使用全局窗口属性存储引用,即使

,它甚至是相同的
page.pdf({ path: "output.pdf", format: 'A4'}); 
  

@ 1 Window {window:Window,self:Window,location:Location,closed:false,frames:Window,...}

     

@ 2 global {}

对此有何想法?非常感谢。

0 个答案:

没有答案