页面生命周期是现代Web开发中重要的概念,主要包括以下几个关键事件:
DOMContentLoaded
document.addEventListener('DOMContentLoaded', handler)监听load
window.addEventListener('load', handler)监听beforeunload
window.addEventListener('beforeunload', handler)监听event.returnValue或返回非空值才能显示确认对话框unload
window.addEventListener('unload', handler)监听document.addEventListener('DOMContentLoaded', () => {
console.log('DOM已加载完成,可以操作DOM元素');
});
window.addEventListener('load', () => {
console.log('所有资源已加载完成');
});
window.addEventListener('beforeunload', (event) => {
// 现代浏览器需要同时设置returnValue和return
event.preventDefault();
return event.returnValue = '您有未保存的更改,确定要离开吗?';
});
window.addEventListener('unload', () => {
// 发送分析数据或执行清理操作
navigator.sendBeacon('/log', '页面卸载');
});
beforeunload时,现代浏览器只会在用户与页面有交互后才会显示确认对话框unload事件中不适合执行耗时操作,因为页面即将关闭
热门推荐:
0