window屬性onbeforeunload語(yǔ)法教程示例
WindowEventHandlers.onbeforeunload事件處理程序?qū)傩园诎l(fā)送beforeunload時(shí)執(zhí)行的代碼。這個(gè)事件在窗口即將到達(dá)unload(卸載)其資源時(shí)觸發(fā)。該文件仍然可見,并且該事件仍可取消。
注意:為了防止不需要的彈出窗口,一些瀏覽器不會(huì)顯示在beforeunload事件處理程序中創(chuàng)建的提示,除非該頁(yè)面已與之交互;有些根本不顯示它們。
onbeforeunload屬性語(yǔ)法window.onbeforeunload = funcReffuncRef是對(duì)函數(shù)或函數(shù)表達(dá)式的引用。該函數(shù)應(yīng)該為Event對(duì)象的returnValue屬性分配一個(gè)字符串值并返回相同的字符串。onbeforeunload屬性示例window.onbeforeunload = function(e) { var dialogText = 'Dialog text here'; e.returnValue = dialogText; return dialogText;};筆記當(dāng)此事件返回(或?qū)eturnValue屬性設(shè)置為)除null或者undefined之外的值時(shí),系統(tǒng)將提示用戶確認(rèn)頁(yè)面卸載。在某些瀏覽器中,事件的返回值顯示在此對(duì)話框中。從Firefox 4,Chrome 51,Opera 38和Safari 9.1開始,將顯示一個(gè)不受網(wǎng)頁(yè)控制的通用字符串,而不是返回的字符串。
例如:
Firefox顯示字符串“此頁(yè)面要求您確認(rèn)您要離開 - 您輸入的數(shù)據(jù)可能無法保存。” Chrome會(huì)顯示字符串“您想離開本網(wǎng)站嗎?您所做的更改可能無法保存”;Internet Explorer不尊重null返回值,并將其作為“null”文本顯示給用戶。您必須使用undefined跳過提示。自2011年5月25日,調(diào)用到HTML5規(guī)范狀態(tài)的window.alert(),window.confirm()和window.prompt()方法可以在此事件中被忽略。
另請(qǐng)注意,各種瀏覽器忽略事件的結(jié)果,并且根本不要求用戶進(jìn)行確認(rèn)。該文件將始終自動(dòng)卸載。Firefox在about:config中有一個(gè)名為dom.disable_beforeunload的開關(guān)來啟用此行為。
你可以并且應(yīng)該通過window.addEventListener()和beforeunload事件來處理此事件。
綁定到此事件可用于防止瀏覽器在JavaScript呈現(xiàn)內(nèi)容的情況下完全緩存頁(yè)面。在某些情況下,當(dāng)為了填充內(nèi)容而返回到已執(zhí)行javascript的頁(yè)面時(shí),您可能會(huì)發(fā)現(xiàn)返回時(shí)返回訪問時(shí)JavaScript沒有運(yùn)行。如果window.onbeforeunload已被綁定(并因此在離開該頁(yè)面時(shí)觸發(fā)),則頁(yè)面中的javascript將在隨后的回訪中被觸發(fā)并因此更新內(nèi)容。
規(guī)范該事件最初由Microsoft在Internet Explorer 4中引入,并在HTML5規(guī)范中進(jìn)行了標(biāo)準(zhǔn)化。
規(guī)范狀態(tài)注釋HTML Living Standard
該規(guī)范中的'GlobalEventHandlers'的定義。
Living StandardHTML 5.1
該規(guī)范中的'GlobalEventHandlers'的定義。
RecommendationHTML5
該規(guī)范中的'GlobalEventHandlers'的定義。
Recommendation瀏覽器兼容性希望能夠有所幫助~
以上就是window屬性onbeforeunload語(yǔ)法教程示例的詳細(xì)內(nèi)容,更多關(guān)于window屬性onbeforeunload語(yǔ)法的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
