如何测试命名窗口是打开还是被弹出窗口阻止程序阻止?

时间:2016-07-31 17:52:28

标签: javascript paypal popup-blocker

我在javascript中用以下代码打开一个窗口(实际上是PayPal):

win = window.open('', this.name, 'top=' + top + ', left=' + left + 
  ', width=' + width + ', height=' + height + 
  ', location=0, status=0, toolbar=0, menubar=0, resizable=0, scrollbars=1');

如果Chrome的弹出窗口拦截器停止创建窗口,我希望能够检测到并提醒用户。是否可以在win上运行某种测试以查看它是否真的打开了?

1 个答案:

答案 0 :(得分:1)

Window.open()中所述:

  

如何通过弹出窗口阻止程序阻止我的窗口被阻止?

     

使用Mozilla / Firefox和Internet Explorer 6 SP2的内置弹出窗口阻止程序,您必须检查window.open()的返回值:如果不允许打开窗口,它将为null。然而,对于大多数其他弹出窗口拦截器,没有可靠的方法。

因此,如果window.open的返回值为null或未定义,则表示该窗口被阻止。