如何在一定时间后自动打开弹出窗口(不阻塞)

时间:2014-04-24 17:12:21

标签: javascript php html firefox popup

我正在制作一个网页,我必须在8秒(8000毫秒)后从一个按钮打开一个弹出窗口。 我想在弹出窗口自动打开之前放一些延迟(8秒)。

我的问题是mozilla firefox阻止了我的弹出窗口

这是我的代码:

<html>
<head>
    <script>
        function call()
        {
            popup = window.open('http://www.google.co.in');         
                 }   
        function caller()
        {
            setInterval(call, 8000);
        }
       </script>
</head>

<body>
<input type="button" onclick="caller();">
</body>
</html>

2 个答案:

答案 0 :(得分:2)

浏览器的弹出窗口阻止/显示架构无法解决。你所能做的就是调用JS方法。然后发生的事情是在HTML / JS范围之外。

由于拦截器,Javascript弹出窗口在网络上真的很不合时宜。他们很烦人,他们的行为取决于设备是不可预测的,通常,用户讨厌他们。考虑另一种方法。

答案 1 :(得分:1)

您应该使用函数setTimeout(functionName , delay)而不是setInterval。 setInterval将每8秒弹出一个新窗口,而setTimeout只会执行一次。

<html>
<head>
    <script>
        function call()
        {
            popup = window.open('http://www.google.co.in');         
        }

        setTimeout(call, 8000);

     </script>
</head>

<body>
<input type="button" onclick="caller();">
</body>
</html>

我同意,寻找另一种方法来做你想做的事。弹出窗口通常给用户带来不便,特别是对于视力不好的人。

默认情况下,许多Web浏览器阻止自动弹出窗口。他们只允许弹出窗口像onClick envent一样直接操作。