前段時間,一直在做web項目,總是出現(xiàn)一個問題:用戶輸入了一些內(nèi)容后,不小心關掉了瀏覽器窗口,或是跳轉到了其它頁面,沒有任何的提示,但是數(shù)據(jù)就沒有了,其實跳轉還好辦,難就難在關閉瀏覽器時要給出一個提示,很是頭痛,上網(wǎng)查了很多東東,但都沒有結果,



,很是郁悶。
今天無意識的在關閉一篇沒有寫完的隨筆時,突然發(fā)現(xiàn)有“如果不保存就會丟失內(nèi)容”的提示。很是激動。就查看了原文件,雖然很多亂碼,但好在還有一部分可讀的,終于讓我發(fā)現(xiàn)了
onbeforeunload事件 ,

,很是開心。在BlogJava中,它是這樣用的:
<script language="javascript">
g_blnCheckUnload = true;
function RunOnBeforeUnload() {
if (g_blnCheckUnload) {window.event.returnValue = 'You will lose any unsaved content';
}
}
</script>
<body onbeforeunload="RunOnBeforeUnload()">
</body>
這樣每次關閉瀏覽器窗口或涮新頁面時,都要觸發(fā)onbeforeunload這個事件,這樣可以對用戶進行提示,避免不必要的遺憾。
我上網(wǎng)又查了一些這個事件的用法,感覺還是
http://www.surfchen.org/?p=54這篇寫得最清楚了,摘抄如下:
onbeforeunload事件:
注:三大主流瀏覽器中firefox和IE都支持onbeforeunload事件,opera尚未支持。
用法:
- object.onbeforeunload = handler
- <element onbeforeunload = “handler” … ></element>
描述:
事件觸發(fā)的時候彈出一個有確定和取消的對話框,確定則離開頁面,取消則繼續(xù)待在本頁。
handler可以設一個返回值作為該對話框的顯示文本。
觸發(fā)于:
- 關閉瀏覽器窗口
- 通過地址欄或收藏夾前往其他頁面的時候
- 點擊返回,前進,刷新,主頁其中一個的時候
- 點擊 一個前往其他頁面的url連接的時候
- 調用以下任意一個事件的時候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit.
- 當用window open打開一個頁面,并把本頁的window的名字傳給要打開的頁面的時候。
- 重新賦予location.href的值的時候。
- 通過input type=”submit”按鈕提交一個具有指定action的表單的時候。
可以用在以下元素:
BODY, FRAMESET, window
平臺支持:
IE4+/Win, Mozilla 1.7a+, Netscape 7.2+, Firefox0.9+