'window.open'被Firefox阻止

时间:2012-05-06 15:09:32

标签: javascript firefox google-chrome popup

我使用window.open并在文档ready事件中调用它,但它被Firefox中的弹出窗口阻止程序阻止。然后我将其添加到该函数并从一个按钮调用此函数,然后触发按钮单击而没有成功:

$(function(){    
    abcd();    
});


function abcd(){
    var popup = window.open("http://localhost/johndyer-mediaelement-7ed6c51/demo/index.php","mypopup","width=500,height=300");       
 }

当页面加载时,是否有某种方法可以在浏览器上打开外部弹出窗口或新标签?

2 个答案:

答案 0 :(得分:10)

Firefox有一系列规则可以帮助它决定是否应该阻止弹出窗口。通常如果使用用户点击初始化操作,firefox将允许打开弹出窗口,但如果它由“纯”javascript完成,则很可能会阻止它。

您可以在此处阅读:http://support.mozilla.org/en-US/kb/Pop-up%20blocker

因此,如果您仔细阅读文章,您会注意到用户点击初始化的弹出窗口将会打开:

<input type="button" value="Click Me"/>

和jquery代码

$('input').click(function(){window.open("http://google.com");​​​​})​

即使打开了弹出窗口阻止程序。试试吧:

http://jsfiddle.net/demee/mQ9eR/

答案 1 :(得分:5)

不要打开弹出式广告。这很烦人。

另一方面,如果它是用户想要查看的消息,那么您可以使用jQuery这样的Colorbox插件来显示悬停模式窗口,而无需打开新的弹出窗口,即用户很容易关闭。