2010-06-19 41 views
1

當試圖關閉窗口,允許用戶留在當前頁面(通過單擊取消),或者繼續關閉窗口(通過單擊確定)時,我試圖讓確認框出現。用Javascript window.confirm停止window.event?

我的代碼如下...

<script>  
    function confirm_exit(){ 
     var message = window.confirm("My message."); 
     if (message == true) { 
      // Output when OK is clicked 
      window.close(); 
     } else { 
      // Output when CANCEL is clicked 
      ??????? 
     } 
    } 
</script> 

我不知道,因爲任何一個我點擊關閉窗口。我需要取消保留在當前頁面,然後單擊確定關閉窗口或繼續使用用戶window.event。

希望這是有道理的。

回答

1

禮貌在它的名字certain website with a dash的:

window.onbeforeunload = leaveConfirm; 
function leaveConfirm() { 
    var leaveThePageMessage = 'Are you sure you want to leave this page?'; 
    return leaveThePageMessage; 
}​ 

這應該在所有的瀏覽器(除了歌劇)。

+0

=>沒有對Opera成功 「這應該在所有的瀏覽器」。 – Wrikken 2010-06-19 02:43:46

+1

@Wrikken幸運的是,Opera佔大多數網站市場份額的很小一部分。通常不到1%,即使那麼多,也不應該是一個主要問題。在Opera用戶的情況下,我認爲在你離開之後JS會繼續運行,所以你實際上可以安全地保存用戶在頁面上可能做了什麼,這樣他們就不會在Opera中失去任何工作。 – 2010-06-19 03:15:44

1

嘗試:

window.onbeforeunload = function() 
{ 
    return confirm('Are you sure you want to close?'); 
}