使用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 获取对象 根据属性、内容匹配, 还有表单元素匹配
May 31 Javascript
javascript表单验证 - Parsley.js使用和配置
Jan 25 Javascript
js history对象简单实现返回和前进
Oct 30 Javascript
node+express+ejs制作简单页面上手指南
Nov 26 Javascript
JS实现跟随鼠标立体翻转图片的方法
May 04 Javascript
javascript中的previousSibling和nextSibling的正确用法
Sep 16 Javascript
JavaScipt中栈的实现方法
Feb 17 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
Apr 17 Javascript
浅析Javascript ES6新增值比较函数Object.is
Aug 24 Javascript
JavaScript 拖拽实例代码
Sep 21 Javascript
Angular2关于@angular/cli默认端口号配置的问题
Jul 15 Javascript
jQuery事件对象的属性和方法详解
Sep 09 jQuery
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 curl 抓取AJAX异步内容示例
2014/09/09 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
关于PHP转换超过2038年日期出错的问题解决
2017/06/28 PHP
laravel 中如何使用ajax和vue总结
2017/08/16 PHP
jQuery MD5加密实现代码
2010/03/15 Javascript
编写高性能的JavaScript 脚本的加载与执行
2010/04/19 Javascript
JavaScript面向对象之Prototypes和继承
2012/07/12 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
jquery下拉select控件操作方法分享(jquery操作select)
2014/03/25 Javascript
jQuery/CSS3图片特效插件整理推荐
2014/12/07 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
详解JavaScript数组和字符串中去除重复值的方法
2016/03/07 Javascript
jQuery使用正则表达式限制文本框只能输入数字
2016/06/18 Javascript
JS简单测试循环运行时间的方法
2016/09/04 Javascript
jquery实现自适应banner焦点图
2017/02/16 Javascript
基于jQuery Ajax实现下拉框无刷新联动
2017/12/06 jQuery
Vue 菜单栏点击切换单个class(高亮)的方法
2018/08/22 Javascript
Python中除法使用的注意事项
2014/08/21 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
Python安装lz4-0.10.1遇到的坑
2018/05/20 Python
对Python中内置异常层次结构详解
2018/10/18 Python
python Tkinter的图片刷新实例
2019/06/14 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
Django查询优化及ajax编码格式原理解析
2020/03/25 Python
python中count函数知识点浅析
2020/12/17 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
使用css3做0.5px的细线的示例代码
2018/01/18 HTML / CSS
大都会艺术博物馆商店:The Met Store
2018/06/22 全球购物
Viking比利时:购买办公用品
2019/10/30 全球购物
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
优秀员工评语
2014/02/10 职场文书
数学教师个人总结
2015/02/06 职场文书
社区党建工作总结2015
2015/05/13 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers