使用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 相关文章推荐
基于jQuery的消息提示插件之旅 DivAlert(三)
Apr 01 Javascript
如何解决Jquery库及其他库之间的$命名冲突
Sep 15 Javascript
jQuery在线选座位插件seat-charts特效代码分享
Aug 27 Javascript
一种新的javascript对象创建方式Object.create()
Dec 28 Javascript
Node.js 应用跑得更快 10 个技巧
Apr 03 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
Dec 06 Javascript
JS简单实现动态添加HTML标记的方法示例
Apr 08 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
Oct 23 Javascript
react组件基本用法示例小结
Apr 27 Javascript
Vue+axios封装请求实现前后端分离
Oct 23 Javascript
详解Typescript里的This的使用方法
Jan 08 Javascript
动态实现element ui的el-table某列数据不同样式的示例
Jan 22 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
咖啡的传说和历史
2021/03/03 新手入门
php定义数组和使用示例(php数组的定义方法)
2014/03/29 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
清空上传控件input file的值
2010/07/03 Javascript
jQuery中选择器小问题(新人难免遇到)
2014/03/31 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2015/04/01 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
javascript移动开发中touch触摸事件详解
2016/03/18 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
微信小程序实现图片预加载组件
2017/01/18 Javascript
js, jQuery实现全选、反选功能
2017/03/08 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
使用ESLint禁止项目导入特定模块的方法步骤
2019/03/04 Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
2019/03/04 Javascript
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
一步步教你用Python实现2048小游戏
2017/01/19 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
python sqlite的Row对象操作示例
2019/09/11 Python
Python使用matplotlib 模块scatter方法画散点图示例
2019/09/27 Python
python 瀑布线指标编写实例
2020/06/03 Python
HTML5 CSS3实现一个精美VCD包装盒个性幻灯片案例
2014/06/16 HTML / CSS
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
初婚未育未抱养证明
2014/01/12 职场文书
母亲节演讲稿
2014/05/27 职场文书
银行优秀员工事迹材料
2014/05/29 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
2014年留守儿童工作总结
2014/12/10 职场文书
入团介绍人意见范文
2015/06/04 职场文书
企业法人代表证明书
2015/06/18 职场文书