事件方法(一)页面刷新或关闭事件
onbeforeunload,在页面刷新或关闭之前执行,早于onunload(刷新或关闭时调用,同时触发载入事件onload)
可用于离开页面提醒、数据存储操作等
onbeforeunload 可以阻止onload
一、添加与移除
window.addEventListener('beforeunload', unloadHandle, false);
window.removeEventListener('beforeunload', unloadHandle, false);
二、老版本IE兼容
1 if (window.addEventListener) { 2 window.addEventListener('beforeunload', function () { 3 // do something 4 }) 5 } else if (window.attachEvent) { 6 // 主要是为了兼容老的IE 7 window.attachEvent('onbeforeunload', function () { 8 // do something 9 }) 10 } else { 11 window.onbeforeunload = function () { 12 // do something 13 } 14 }
三、IOS系统
在IOS平台下,onload、onbeforeunload已经废弃,使用了pageshow和pagehide代替
因此,IOS平台应用的onbeforeunload要更换为pagehide
window.addEventListener('pagehide', unloadHandle, false);
可以两个都监听,也可以判断环境添加不同的监听
if ("onpagehide" in window) { //pagehide } else { //beiforeunload }