我还没有找到能够告诉我打开弹出窗口的正确方法的单一答案。
时代变了,弹出窗口大多被类似 fancybox 的盒子所取代。但是,有时仍然需要弹出窗口。
对于那些情况,我不希望我的弹出窗口被浏览器阻止。
在不被阻止的情况下打开弹出窗口的正确方法是什么?即使它在浏览器中打开一个新选项卡。我只想打开我的弹出窗口,并从父级控制它,反之亦然。
最佳答案
弹出窗口阻止程序将阻止任何弹出窗口,除非它是由于用户操作而打开的。
如果用户点击一个链接,并且在该链接的点击监听器中打开一个弹出窗口,弹出窗口拦截器知道用户想要打开某些东西并且不会(或不应该)阻止该弹出窗口。
你不能做什么:
- 打开或关闭页面时打开一个弹出窗口
- 在一定时间间隔后打开一个弹出窗口
- 在异步发生后打开一个弹出窗口
你可以做什么:
- 在点击监听器中打开一个弹出窗口
- 在 anchor 标记中使用 target="_blank"
您可以使用 JavaScript 变量访问两个窗口:
- 如果您使用 window.open,父级可以通过将 window.open 的结果分配给变量来引用弹出窗口。查看this article at W3Schools .
- 如果弹出窗口需要访问打开它的窗口,您可以使用window.opener。查看this question .
关于javascript - 如何打开弹窗而不被拦截?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21308472/