使用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中有趣的反柯里化深入分析
Dec 05 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
Jan 23 Javascript
js函数模拟显示桌面.scf程序示例
Apr 20 Javascript
ECMAScript6中Map/WeakMap详解
Jun 12 Javascript
JS实现从连接中获取youtube的key实例
Jul 02 Javascript
Node.js批量给图片加水印的方法
Nov 15 Javascript
Vue监听数组变化源码解析
Mar 09 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
Sep 22 jQuery
深入理解Vuex 模块化(module)
Sep 26 Javascript
手把手教您实现react异步加载高阶组件
Apr 07 Javascript
JavaScript实现简易计算器小功能
Oct 22 Javascript
JavaScript高级程序设计之基本引用类型
Nov 17 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
php mssql 时间格式问题
2009/01/13 PHP
php动态生成版权所有信息的方法
2015/03/24 PHP
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
js图片预加载示例
2014/04/30 Javascript
JavaScript函数详解
2015/02/27 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
JS实现的5级联动Select下拉选择框实例
2015/08/17 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
2016/08/01 Javascript
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
2019/11/15 Javascript
基于python select.select模块通信的实例讲解
2017/09/21 Python
Python实现简单的HttpServer服务器示例
2017/09/25 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
Python判断有效的数独算法示例
2019/02/23 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
PIL图像处理模块paste方法简单使用详解
2019/07/17 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
Django框架模板用法入门教程
2019/11/04 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
Python基于Tkinter编写crc校验工具
2020/05/06 Python
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
质检部岗位职责
2013/11/11 职场文书
厨师岗位职责
2013/11/12 职场文书
应届医学毕业生求职信分享
2013/12/02 职场文书
《金孔雀轻轻跳》教学反思
2014/04/20 职场文书
2014年会计人员工作总结
2014/12/10 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
学习保证书怎么写
2015/02/26 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书
CentOS7 minimal 最小化安装网络设置过程
2022/12/24 Servers