我有一个本地网站,其中包含应该可以访问其父母的弹出窗口。
打开的弹出窗口如下所示:
open("filename.html", 'name', 'scrollbars=yes,width=700');
我正在尝试通过window.opener
属性将其设置为访问其父窗口。
这在Firefox上可以正常工作,但在出现错误的Chrome上却不能:
Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame.
我还注意到,当上传到服务器时,它在Chrome和Firefox上都可以正常工作。
在本地运行时如何在Chrome上运行此功能? window.opener
上是否有允许子窗口访问其父窗口的替代方法?
答案 0 :(得分:0)
我在一个项目中遇到了同样的问题...我的临时解决方案是设置一个本地服务器,例如:
下载http服务器:
$ npm install http-server -g
在控制台中查找项目主文件夹,然后键入:
$ http-server
控制台将显示您可以在哪个端口上运行本地网站
现在您可以在Chrome中使用window.opener。我想有一个更好的解决方案!
顺便说一句,另一个想法是用子窗口代替模式:)