JS DOM编程复习笔记 - DOMContentLoaded、load、beforeunload 和 unload(十四)

今天我们来学习与页面加载相关的事件,包括 DOMContentLoadedloadbeforeunloadunload

简介

当我们打开一个页面时,会依次发生以下的事件:

  • DOMContentLoaded – 浏览器完全加载HTML并构建DOM树。但并没有加载外部样式和图片等外部资源。这时我们可以查找DOM节点或者初始化页面等。
  • load – 浏览器完全加载了 HTML 以及图片和样式等外部资源。

当我们离开一个页面时,会依次发生以下事件:

  • beforeunload - 在页面被关闭前将触发。我们可以使用此事件来显示确认对话框来防止用户手误离开页面。当我们在填写大量的表单后,可以防止意外点击链接跳转到另一个页面时丢失数据。
  • unload - 当页面被关闭时触发。 可以使用此事件发送分析数据或做一些清理动作。

例子

要处理页面事件,调用document对象上的 addEventListener() 方法:

document.addEventListener('DOMContentLoaded',() => {
  // 处理 DOMContentLoaded 事件
});

document.addEventListener('load',() => {
  // 处理 load 事件
});

document.addEventListener('beforeunload',() => {
  // 处理 beforeunload 事件
});

document.addEventListener('unload',() => {
  // 处理 unload 事件
});

以下示例完整说明了如何处理页面加载事件:

<!DOCTYPE html>
<html>
<head>
  <title>JS 页面加载事件</title>
</head>

<body>
  <script>
    addEventListener('DOMContentLoaded', (event) => {
      console.log('DOM加载完成.');
    });

    addEventListener('load', (event) => {
      console.log('页面加载完成.');
    });

    addEventListener('beforeunload', (event) => {
      // 显示确认对话框
      event.preventDefault();
      // Google Chrome 需要设置 returnValue.
      event.returnValue = '';
    });

    addEventListener('unload', (event) => {
      console.log('发送统计数据');
    });
  </script>
</body>
</html>

当第一次页面加载完成时可以看到

image-20211030205754388

当我们要关闭tab时就会显示确认对话框,当确认关闭时就会触发unload事件,把要统计的数据进行上报

image-20211030205832071

总结

今天我们介绍与页面加载相关的事件DOMContentLoadedloadbeforeunloadunload

明天我们接着做详细的学习。

一起学习更多前端知识,微信搜索【小帅的编程笔记】,每天更新

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值