当前位置: 首页 > news >正文

load、unload和pagehide、pageshow

一、load、unload和pagehide、pageshow的主要应用

1)load 和 unload 事件监听web页面的进入和离开,一般用于页面的首次加载、刷新和关闭等操作的监听;
2)pageshow 和 pagehide 事件多用于监听浏览器的前进和后退等。

二、pageshow和load事件的区别

1、pageshow和load区别

pageshow 事件类似于 load 事件,load 事件在页面第一次加载时触发, pageshow 事件在每次加载页面时触发,即 load 事件在页面从浏览器缓存中读取时不触发

一般情况下,移动端浏览器会将当前已访问页面存入缓存中,缓存中保存着页面数据,DOM和js的状态,前进和后退操作时直接从浏览器缓存中读取页面内容,而不进行页面刷新,所以监听前进和后退操作时可用pageshow事件。

触发时间:load先触发,pageshow后触发。

2、查看是否读取缓存

为了查看页面是直接从服务器上载入还是从缓存中读取,你可以使用 Event 对象的 persisted 属性来判断。 如果页面从浏览器的缓存中读取该属性返回 ture,否则返回 false

示例:

window.addEventListener('pageshow', function(event) {console.log(event.persisted);
})

三、pagehide和unload事件的区别

1、pagehide和unload区别

pagehide 事件类似于 unload 事件,在用户离开网页时触发(如点击一个链接、刷新页面、提交表单、关闭浏览器、前进、后退等)。

页面缓存:pagehide触发可以缓存页面,但unload 事件触发后无法缓存。

触发时间:pagehide先触发,unload后触发。

2、查看是否读取缓存

// 同pageshow
window.addEventListener('pagehide', function(event) {console.log(event.persisted);
})

四、pageshow和pagehide应用场景

当我们需要在浏览器前进或后退时执行某个操作时,可监听pageshow和pagehide事件。

五、pageshow和pagehide的浏览器兼容性

在这里插入图片描述六、总结 

区别:

  1. load 页面第一次加载时触发,前进或后退使用缓存不会触发
  2. pageshow 页面每次展示都会触发,前进或后退使用缓存会触发
  3. pageshow 包含 load
  4. 触发时机:load先触发,pageshow后触发。pagehide先触发,unload后触发。

http://www.lryc.cn/news/108325.html

相关文章:

  • 【面试问题12】
  • 高性能网络框架笔记
  • leetcode 738. 单调递增的数字
  • FPGA项目设计:数字时钟
  • 科技云报道:向量数据库:AI时代的下一个热点
  • 【更新】119所院校考研重点勾画更新预告!
  • 【Leetcode】(自食用)LRU算法(哈希链表法)
  • robots.txt 如何禁止蜘蛛(百度,360,搜狗,谷歌)搜索引擎获取页面内容
  • JVM 学习—— 类加载机制
  • C#实现int类型和字节流的相互在转化
  • Centos设置固定IP地址,外网访问
  • 非线性弹簧摆的仿真(Matlab代码实现)
  • css实现文字颜色渐变+阴影
  • C++学习笔记总结练习:关联容器
  • TypeScript技能总结(二)
  • 整理一些Postgresql工作中常用面试中会问的问题---Postgresql面试题001
  • Xposed回发android.os.NetworkOnMainThreadException修复
  • 【Leetcode】二叉树的最近公共祖先,二叉搜索树转换成排好序的双向链表,前序遍历与中序遍历构造二叉树
  • 途乐证券|互联金融概念爆发,安硕信息“20cm”涨停,高伟达等大涨
  • 计数排序算法
  • 企业高性能web服务器-nginx
  • GaussDB数据库的元数据及其管理简介
  • 合并两个有序链表 LeetCode热题100
  • 【C++】模拟实现string
  • AI智慧安监视频监控汇聚平台EasyCVR调用接口出现跨域现象该如何解决?
  • 无人机机巢有哪些,无人机机场/机场的主要分类
  • 联想存储 HH0305_DE4000H 划分卷组、卷、主机
  • 【Python机器学习】实验08 决策树
  • MySQL的innoDB存储引擎如何解决幻读的问题?
  • Web3.0:重新定义互联网的未来