每次弹出窗口被阻止

时间:2012-12-18 12:11:29

标签: javascript html

在我的应用程序中,我们使用弹出窗口 防爆。 window.open(); 我试图登录时,每次在IE 7,IE 8和IE 9中阻止弹出窗口。

如何使用JavaScript代码禁用它。

提前感谢..,

1 个答案:

答案 0 :(得分:1)

弹出窗口拦截器应该停止附加到诸如onloadonunload之类的事件的弹出窗口(以及与请求弹出窗口的人没有直接关联的其他事件),但是不应该阻止那些附加到链接上的onclick事件(以及可以被视为该人已经请求的其他事件)。

并非所有浏览器都足够智能,以致于如果链接上的onclick事件调用一个函数,并且该函数的目的是打开弹出窗口,实际上已经请求了弹出窗口。他们在函数中看到了弹出代码,但是不够聪明,因为使用浏览器的人的操作会导致调用此代码。编码我们的弹出窗口导致弹出窗口被阻止,尽管事实上它被请求,这是一个让人感到烦恼的一个可靠方法,即尽管问题实际上是他们的浏览器,但你的网站仍无法正常工作。

为许多这些愚蠢的浏览器解决这个问题的方法是将弹出代码放入onclick本身而不是调用函数。

例如,

<a href="some_page.html" onclick="window.open('some_other_page.html')">Open Popup</a>

以下是一些可能对您有帮助的帖子,

Bypass popup blocker on window.open when JQuery event.preventDefault() is set

Blocked vs Non-blocked Pop-up window