我发现,浏览器并不会阻止所有弹出的JavaScript窗口。
如何在JavaScript中编写不会被浏览器阻止的弹出窗口?
我的意思是,造成这种差异的主要因素是什么?
发布于 2009-11-30 01:54:27
决定什么弹出窗口将被阻止的主要因素是在用户执行一些动作后必须显示良好的弹出窗口,如单击或执行其他事件,如按enter。
但是,您可以使用页面内弹出窗口(如JQuery UI Dialog ),所有弹出窗口阻止程序都无法阻止它,因为它只是html标记(如span或div )。因此,它不够聪明,无法理解弹出标记中的内容。这应该是避免所有弹出窗口阻止程序的最佳方法。
发布于 2009-11-30 01:36:14
在Firefox (以及大多数带有弹出窗口阻止程序的现代web浏览器)中,如果Javascript窗口是用户单击的结果,则通常是允许的,但如果它们试图在后台打开,则会被禁止。
将这些bad popups中使用的方法与这些good popups进行比较。源代码可以在这个网站上找到。下面是“好的”弹出窗口的源代码:
<a href="javascript:winopen('http://www.popuptest.com/popup3.html','blank','width=450,height=235,status=yes')">Good PopUp #1</a>
<br><br>
<A class=blu HREF="http://www.popuptest.com/popup2.html" target="_BLANK">Good PopUp #2</A>
<br><br>
<A class=black HREF="http://www.popuptest.com/popup3.html" onclick="NewWindow(this.href,'rank','450','450','yes','center');return false" onfocus="this.blur()">Good PopUp #3</A>
<br><br>
<a href="javascript:PopWindow('http://www.popuptest.com/popup4.html', 450, 320)">Good PopUp #4</A>https://stackoverflow.com/questions/1816127
复制相似问题