使用JS判断页面是首次被加载还是刷新


Posted in Javascript onMay 26, 2019

1 利用window.name属性在页面刷新时不会重置判断(在该属性空置的情况下可使用)

if(window.name == ""){
 console.log("首次被加载");
 window.name = "isReload"; // 在首次进入页面时我们可以给window.name设置一个固定值 
}else if(window.name == "isReload"){
  console.log("页面被刷新");
}

2 使用sessionStorage或cookie来判断

与window.name实现方法类似在首次加载时设置一个固定值 之后判断即可

这里以sessionStorage来为例

if(sessionStorage.getItem("isReload")){
   console.log("页面被刷新");
}else{
 console.log("首次被加载");
 sessionStorage.setItem("isReload", true)
}

3 可以使用window.chrome对象 (该方法只在谷歌浏览器中可用 其他浏览器无chrome对象)

该对象提供了一个loadTimes() 方法 执行该方法我们会得到一个有关页面性能的对象
其中有一个navigationType属性可以帮助我们判断页面是加载还是刷新
它有两个值 Reload(刷新) 和 Other(首次加载)

所以我们可以通过if判断:

if(sessionStorage.getItem("isReload")){
   console.log("页面被刷新");
}else{
 console.log("首次被加载");
 sessionStorage.setItem("isReload", true)
}

使用window.chrome.loadTimes方法会报警告

isreload.html:20 [Deprecation] chrome.loadTimes() is deprecated, instead use standardized API: Navigation Timing 2. https://www.chromestatus.com/features/5637885046816768.

官方已经说明该方法被弃用了 让我们使用 标准化API: Navigation Timing 2
所有上面代码需要改下:

if (window.performance.navigation.type == 1) {
 console.log("页面被刷新")
}else{
 console.log("首次被加载")
}

总结

以上所述是小编给大家介绍的使用JS判断页面是首次被加载还是刷新,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript 常用代码技巧大收集
Feb 25 Javascript
JS中setTimeout()的用法详解
Apr 14 Javascript
Javascript操作URL函数修改版
Nov 07 Javascript
javascript弹出层输入框(示例代码)
Dec 11 Javascript
对Jquery中的ajax再封装,简化操作示例
Feb 12 Javascript
将字符串中由空格隔开的每个单词首字母大写
Apr 06 Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
Oct 28 Javascript
javascript针对不确定函数的执行方法
Dec 16 Javascript
Bootstrap table分页问题汇总
May 30 Javascript
jquery获取复选框checkbox的值实现方法
May 30 Javascript
详解vue2 $watch要注意的问题
Sep 08 Javascript
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
Apr 03 Javascript
Node.js 多进程处理CPU密集任务的实现
May 26 #Javascript
小程序封装路由文件和路由方法(5种全解析)
May 26 #Javascript
vue2.0 实现富文本编辑器功能
May 26 #Javascript
富文本编辑器vue2-editor实现全屏功能
May 26 #Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
May 26 #Javascript
我要点爆”微信小程序云开发之项目建立与我的页面功能实现
May 26 #Javascript
vue指令做滚动加载和监听等
May 26 #Javascript
You might like
虫族 ZERG 概述
2020/03/14 星际争霸
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
PHP易混淆函数的区别及用法汇总
2014/11/22 PHP
PHP使用mongoclient简单操作mongodb数据库示例
2019/02/08 PHP
javascript中使用replaceAll()函数实现字符替换的方法
2010/12/25 Javascript
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
9行javascript代码获取QQ群成员具体实现
2013/10/16 Javascript
javascript中处理时间戳为日期格式的方法
2014/01/02 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
Jquery插件编写简明教程
2014/03/25 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
JavaScript判断用户名和密码不能为空的实现代码
2016/05/16 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
JavaScript数组去重的多种方法(四种)
2017/09/19 Javascript
vue.js与后台数据交互的实例讲解
2018/08/08 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
python遍历类中所有成员的方法
2015/03/18 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
Python建立Map写Excel表实例解析
2018/01/17 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
2019/03/18 Python
全面了解django的缓存机制及使用方法
2019/07/22 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
使用HTML5捕捉音频与视频信息概述及实例
2018/08/22 HTML / CSS
空字符串(“”)和null的区别
2012/11/13 面试题
大学自主招生自荐信
2013/12/16 职场文书
元旦联欢会主持词
2014/03/26 职场文书
希特勒的演讲稿
2014/05/23 职场文书
应届生求职信范文
2014/05/26 职场文书
供用电专业求职信
2014/07/07 职场文书
生物学专业求职信
2014/07/23 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
公司催款律师函
2015/05/27 职场文书
python如何做代码性能分析
2021/04/26 Python
JavaScript设计模式之原型模式详情
2022/06/21 Javascript