2015-04-24 232 views
0

我有这样的Javascript代码:如何打开一个弹出窗口?

function call() { 
    popup = window.open('http://www.google.co.in'); 
    setTimeout(wait, 5000); 
} 

function caller() { 
    setInterval(call, 1000); 
} 

function wait() { 
    popup.close(call, 1000); 
} 

而且我有这样的HTML代码:

<body onload="caller();">` 

而且它打开弹出窗口的无限

我不知道如何打开只有一个弹出,而不是无限的文件。

+2

如果你只想要一个弹出,为什么要使用的间隔开始?这是一个REPEATED执行调用。也许你想要setTimeout,它只会触发一次。 –

+0

你想一次又一次打开和关闭窗口吗?如果是这样,您需要跟踪变量中弹出(打开或关闭)的状态。 –

回答

2

当你的caller()功能运行时,它会调用使用setIntervalcall功能,这将在循环往复运行。

相反,改变这种:

setInterval(call, 1000); 

要这样:

setTimeout(call, 1000); 

这仅调用一次,1秒后。

0

要一次打开弹出的每一个用户访问你的页面时,您可以使用,即:

<html> 
<head> 
    your head 
</head> 
    <body onload="popMe();">` 
    your body 
    <script> 
    popMe(function(){ window.open('http://www.google.co.in'); }, 5000); 
    </script> 
    </body> 
<html> 
相关问题