带你读《现代Javascript高级教程》三十三、页面生命周期: DOMContentLoaded, load, beforeunload, unload(2)

简介: 带你读《现代Javascript高级教程》三十三、页面生命周期: DOMContentLoaded, load, beforeunload, unload(2)

带你读《现代Javascript高级教程》三十三、页面生命周期: DOMContentLoaded, load, beforeunload, unload(1)https://developer.aliyun.com/article/1349478?groupCode=tech_library


4 示例代码

document.addEventListener('DOMContentLoaded', function() {
  // DOMContentLoaded 事件触发后执行的逻辑
  console.log('DOMContentLoaded event triggered');});

 

在上面的示例中,我们使用 addEventListener 方法注册了一个 DOMContentLoaded 事件监听器。当DOMContentLoaded 事件触发时,控制台将输出 'DOMContentLoaded event triggered'

2. load

1) 属性

  • type:事件类型,值为 "load"
  • bubbles:布尔值,指示事件是否会冒泡,默认为 false
  • cancelable:布尔值,指示事件是否可以被取消,默认为 false
  • target:事件的目标对象,即触发事件的元素

 

2) API

EventTarget.addEventListener():用于注册事件监听器,以便在 load 事件触发时执行相应的处理函数。

3) 应用场景

load 事件在整个页面及其所有外部资源(如图像、样式表、脚本等)加载完成后触发。这意味着页面的所有内容已经可用,并且可以执行与页面渲染和交互相关的操作。

 

常见的应用场景包括:

 

  • 执行一些需要页面完全加载后才能进行的操作
  • 初始化和配置第三方库和插件
  • 启动动画或其他视觉效果

4) 示例代码

window.addEventListener('load', function() {
  // load 事件触发后执行的逻辑
  console.log('load event triggered');});

 

在上面的示例中,我们使用 addEventListener 方法注册了一个 load 事件监听器。当 load 事件触发时,控制台将输出 'load event triggered'。

3. beforeunload

1)属性

  • type:事件类型,值为 "beforeunload"
  • bubbles:布尔值,指示事件是否会冒泡,默认为 false
  • cancelable:布尔值,指示事件是否可以被取消,默认为 true
  • target:事件的目标对象,即触发事件的元素

2)API

  • EventTarget.addEventListener():用于注册事件监听器,以便在 beforeunload 事件触发时执行相应的处理函数。
  • Event.preventDefault():用于阻止默认的 beforeunload 行为,例如显示浏览器默认的退出提示框。

3)应用场景

beforeunload 事件在页面即将被卸载(关闭、刷新、导航到其他页面等)之前触发。它通常用于询问用户是否确定离开当前页面,并可以在事件处理函数中执行一些清理操作。

 

常见的应用场景包括:

 

  • 提示用户保存未保存的数据或离开前的确认提示
  • 执行清理操作,如取消未完成的 AJAX 请求、释放资源等

4)示例代码

window.addEventListener('beforeunload', function(event) {
  // beforeunload 事件触发时执行的逻辑
  // 可以在这里提示用户保存未保存的数据或离开前的确认提示
  event.preventDefault(); // 阻止默认的 beforeunload 行为
  event.returnValue = ''; // Chrome 需要设置 returnValue 属性});

 

在上面的示例中,我们使用 addEventListener 方法注册了一个 beforeunload 事件监听器。在事件处理函数中,我们可以执行一些提示用户保存数据或离开前的确认逻辑。通过调用 preventDefault 方法,我们阻止了默认的 beforeunload 行为,并通过设置 returnValue 属性(在某些浏览器中需要设置)为空字符串来确保提示框的显示。

4. unload

1 属性

  • type:事件类型,值为 "unload"
  • bubbles:布尔值,指示事件是否会冒泡,默认为 false
  • cancelable:布尔值,指示事件是否可以被取消,默认为 false
  • target:事件的目标对象,即触发事件的元素

2 API

EventTarget.addEventListener():用于注册事件监听器,以便在 unload 事件触发时执行相应的处理函数。

3 应用场景

unload 事件在页面即将被卸载(关闭、刷新、导航到其他页面等)时触发。它可以用于执行一些清理操作,如释放资源、取消未完成的请求等。

 

常见的应用场景包括:

 

  • 释放页面所使用的资源,如清除定时器、取消事件监听器等
  • 发送最后的统计数据或日志

4 示例代码

window.addEventListener('unload', function() {
  // unload 事件触发后执行的逻辑
  console.log('unload event triggered');});

 

在上面的示例中,我们使用 addEventListener 方法注册了一个 unload 事件监听器。当 unload 事件触发时,控制台将输出 'unload event triggered'。


带你读《现代Javascript高级教程》三十三、页面生命周期: DOMContentLoaded, load, beforeunload, unload(3)https://developer.aliyun.com/article/1349476?groupCode=tech_library

相关文章
|
4月前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
49 5
|
2月前
|
JavaScript 前端开发
js教程——函数
js教程——函数
40 4
|
3月前
|
前端开发 JavaScript API
前端JS读取文件内容并展示到页面上
前端JavaScript使用FileReader API读取文件内容,支持文本类型文件。在文件读取成功后,可以通过onload事件处理函数获取文件内容,然后展示到页面上。
98 2
前端JS读取文件内容并展示到页面上
|
2月前
|
Web App开发 前端开发 JavaScript
JavaScript动态渲染页面爬取——Selenium的使用(一)
JavaScript动态渲染页面爬取——Selenium的使用(一)
|
2月前
|
Web App开发 数据采集 JavaScript
JavaScript动态渲染页面爬取——Selenium的使用(二)
JavaScript动态渲染页面爬取——Selenium的使用(二)
|
2月前
|
JavaScript 前端开发 调度
在JavaScript中异步任务里的微任务和宏任务的特点和生命周期
在JavaScript中异步任务里的微任务和宏任务的特点和生命周期
42 0
|
3月前
|
JavaScript 前端开发
js 回到页面顶部
本文提供了一个JavaScript函数`scrollToTop`,用于平滑滚动页面回到顶部。该函数利用`requestAnimationFrame`和`window.scrollTo`方法逐步减少滚动条距离,直到页面完全回到顶部。
31 1
|
2月前
|
JavaScript 前端开发 API
JavaScript全屏,监听页面是否全屏
JavaScript全屏,监听页面是否全屏
60 0
|
2月前
|
前端开发 JavaScript
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
|
2月前
|
存储 JSON JavaScript
JavaScript动态渲染页面爬取——Pyppeteer爬取实战
JavaScript动态渲染页面爬取——Pyppeteer爬取实战
下一篇
无影云桌面