在Electron运行的子页面无法访问window.opener解决方案


我们的首页有一个window.open打开子页面后反向刷新父页面的功能,但是主页面如果开启了nodeIntegration=true,这个时候再设置nativeWindowOpen是不启作用的。再被window.open打开的页面无法访问window.opener(返回null)的。这个反向刷新还会调用window.close关闭自己也不启作用。类似下面的代码:

window.opener = null
window.open("", "_self")
window.close()

我目前想到的解决方案就是在子页面判断如果window.opener为空,则调用和Electron交互的关闭窗口代码。在Electron中订阅窗体的close事件,如果当前的地址是我们通用处理反向刷新的地址,则获取父页面的webContents向对应的webFrame发送一个执行JavaScript的消息实现执行window.opener对应的方法。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM