已阻止与未阻止的弹出窗口

时间:2009-11-29 17:29:50

标签: javascript browser popupwindow

我发现,浏览器不会阻止所有弹出的JavaScript窗口。

如何在JavaScript中编写不会被浏览器阻止的弹出窗口?

我的意思是影响差异的主要因素是什么?

2 个答案:

答案 0 :(得分:8)

在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>

答案 1 :(得分:4)

决定弹出窗口将被阻止的主要因素是良好的弹出窗口必须在用户执行某些操作后显示,例如点击或执行其他事件,例如按回车键。

但是,您可以使用像JQuery UI Dialog这样的页内弹出窗口,所有弹出窗口阻止程序都无法阻止它,因为它只是像span或div这样的html标记。因此,它对于理解弹出标签内的内容并不够聪明。它应该是避免所有弹出窗口阻止程序的最佳方法。