是否確定要離開,可以透過javascript用以下方法來完成。
window.onbeforeunload
完整 範例參考:
<HTML>
<HEAD>
<TITLE> 輕鬆一下 </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--//
window.onbeforeunload = function confirmExit(){
return '有尚未儲存的資料,確定要離開嗎?'; //自訂提示
}
//-->
</SCRIPT>
</HEAD>
<BODY >
<P>本程式在<b>關閉</b>之後,會有一個警示畫面產生。</P>
</BODY>
</HTML>
補充:
在ASP.Net 使用這方法時,因ASPX頁面會存在許多會觸發 post back 的 server control,當其中一個 server control 觸發 post back 之後,依據上面的範例,就會跳出警示畫面。我們只是希望當User點選離開(X)時才跳出警示畫面,而非任何控制項都是如此。所以可以更進一步去改良我們的程式。
confirmExit() 是一個內建函式,如果在函式內加上 return 'OOOOO'; 就會在警示視窗中出現 'OOOOO'的字眼,但如果只是 return ; 則就不會跳出警示視窗。
所以可以透過一個變數來決定是否要觸發警示視窗。如下所示:
<script language="javascript" type="text/javascript">
var shouldConfirm = true;
window.onbeforeunload = function confirmExit(){
if(shouldConfirm)
return '離開即會放棄基準設定,確定要放棄嗎?'; //自訂提示
else
return ;
}
</script>
4Guys網站進一步的探討:http://www.4guysfromrolla.com/webtech/100604-1.shtml