閑話(huà)少說(shuō),直奔主題蘸鲸。
Front
明人不說(shuō)暗話(huà),博主在這里直接就告訴你了酌摇,直接用 onbeforeunload
事件,不要用 onunload
窑多,看代碼:
<script type="text/javascript">
window.onbeforeunload = function (e) {
console.log('coming...');
// alert('coming...');
var msg = '你確定要離開(kāi)此頁(yè)面嗎洼滚?';
e.returnValue = msg;
return msg;
}
</script>
以上代碼我是用 console
進(jìn)行測(cè)試,為什么這里用它而不是用 alert
呢?因?yàn)椴还茉?onbeforeunload
還是 unload
事件中享幽, alert
都是不支持的。SO值桩,沒(méi)毛病老鐵!
Why not onunload 奔坟?
這個(gè)問(wèn)題問(wèn)的好。
一句話(huà)總結(jié):onunload
在 Opera咳秉、Firefox鸯隅、Chrome 新版本中任何情況下都不會(huì)執(zhí)行。
任何情況下之的是什么呢滋迈?即用戶(hù)點(diǎn)擊了瀏覽器的:
- 后退
- 前進(jìn)
- 刷新
- 主頁(yè)
- 標(biāo)簽頁(yè)
- 關(guān)閉
- 頁(yè)面鏈接
- 右鍵刷新
- 右鍵前進(jìn)户誓、后退、返回
Why onbeforeunload ?
因?yàn)樗}暗勖馈!在 IE庇忌、Opera、FF皆疹、Chrome 中完美運(yùn)行。而且實(shí)踐證明是可行的略就,不光在 PC 端適用,在 H5 端也是可以的表牢。
Club
有什么問(wèn)題可以加我的QQ群:562522675 贝次、378289676、322239039