如何打开一个不会被阻止的弹出窗口?

4

我一直没有找到一个能够告诉我如何正确打开弹出窗口的答案。

时代已经改变,弹出窗口已经被类似fancybox的盒子所取代。但是,在某些情况下仍然需要使用弹出窗口。

对于这些情况,我不想让我的弹出窗口被浏览器阻止。

如何正确打开弹出窗口而不被阻止?即使它在浏览器中打开了一个新标签页。我只想打开我的弹出窗口,并从父窗口或反之亦然控制它。


然后检查这个:https://dev59.com/t2kw5IYBdhLWcg3w_feJ - Mr.Geeker
2个回答

4

弹出拦截器会阻止任何弹出窗口,除非它是因为用户操作而打开的。

如果用户单击链接,并且在该链接的单击侦听器中打开了一个弹出窗口,则弹出拦截器知道用户想要打开某些内容,并且不会(或不应该)阻止弹出窗口。

您不能这样做:

  • 在页面打开或关闭时打开弹出窗口
  • 在一定时间间隔后打开弹出窗口
  • 在某些异步操作之后打开弹出窗口

你可以这样做:

  • 在单击侦听器中打开弹出窗口
  • 在锚标记中使用target="_blank"

您可以使用JavaScript变量访问两个窗口:

  • 如果您使用window.open,父级可以通过将window.open的结果分配给变量来引用弹出窗口。请查看W3Schools上的此文章
  • 如果弹出窗口需要访问打开它的窗口,则可以使用window.opener。请查看此问题

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接