2015-04-24 275 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> 
相關問題