2012-09-13 78 views
0

可能重複:
Display message when user leaves site如何正確執行onload腳本並退出彈出?

好吧,這是我的情況 - 我想我的用戶自動開始下載時,他們的土地我的頁面,我有這個代碼上:

<body onload="document.getElementById('download').click()"> 
<a id="download" href="http://www.website.com/file.zip" style="display:none;">Download</a> 

This works。

但是問題是,我已經在執行,當用戶試圖離開頁面如下彈出消息底部的另一個腳本:

<script language="javascript"> 
var exitsplashalertmessage = '***************************************\n\n   > > > W A I T < < <\n\n  CLICK THE ***CANCEL*** BUTTON\n on the NEXT Window for Something\n    VERY Special!\n\n***************************************'; 
var exitsplashmessage = '***************************************\n\n W A I T B E F O R E Y O U G O !\n\n CLICK THE *CANCEL* BUTTON RIGHT NOW\n  TO STAY ON THE CURRENT PAGE.\n\n I HAVE SOMETHING VERY SPECIAL FOR YOU!\n\n***************************************'; 
var exitsplashpage = 'http://www.website.com/more'; 
</script> 
<script language="javascript" src="http://www.website.com/exitsplash.php"></script> 

現在的問題是,下載的文件工作正常,但exitsplash不執行。

我被告知我需要「onUnload」中的代碼...但我該怎麼做?

任何人,任何想法?

謝謝

+1

Ÿ你所寫的垃圾網站? :( – Incognito

回答

0

您應該使用onbeforeunload。你可以用HTML或Javascript來完成。

HTML:

<body onload="document.getElementById('download').click();" onbeforeunload="alert('your message'); return false;"> 

的Javascript:

document.body.onbeforeunload = function(){ 
    var exitSplashMessage = "your message"; 
    alert(exitSplashMessage); 
    return false; 
} 
+0

那麼,onbeforeunload究竟做了什麼呢? 我不想在下載完成時彈出消息。 我真正想要的是exitsplash消息中的消息,如圖所示...... –

+0

onbeforeunload要求用戶留下或當他嘗試關閉窗口或離開實際頁面時離開頁面,在下載完成後它不會觸發,因爲它處於加載事件中。試試看,你會看到。 –