我正在制作一个网页,我必须在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>
答案 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一样直接操作。