在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 {}
对此有何想法?非常感谢。