使用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转换字符串为dom对象(字符串动态创建dom)
May 10 Javascript
通过jquery的$.getJSON做一个跨域ajax请求试验
May 03 Javascript
JS实现淘宝幻灯片效果的实现方法
Mar 22 Javascript
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
Feb 11 Javascript
javascript创建函数的20种方式汇总
Jun 23 Javascript
Vue脚手架的简单使用实例
Jul 10 Javascript
javascript实现文本框标签验证的实例代码
Oct 14 Javascript
node.js基于socket.io快速实现一个实时通讯应用
Apr 23 Javascript
vue实现动态按钮功能
May 13 Javascript
javascript 易错知识点实例小结
Apr 25 Javascript
vue循环中点击选中再点击取消(单选)的实现
Sep 10 Javascript
用JS实现飞机大战小游戏
Jun 09 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+jquery编码方面的一些心得(utf-8 gb2312)
2010/10/12 PHP
PHP 事件机制(2)
2011/03/23 PHP
PHP正确配置mysql(apache环境)
2011/08/28 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
2014/12/18 PHP
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
JavaScript中原型链存在的问题解析
2016/09/25 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
Node.js测试中的Mock文件系统详解
2016/11/21 Javascript
JavaScript订单操作小程序完整版
2017/06/23 Javascript
Vue.js中对css的操作(修改)具体方式详解
2018/10/30 Javascript
使用Vue调取接口,并渲染数据的示例代码
2019/10/28 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
python 从远程服务器下载东西的代码
2013/02/10 Python
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
Django接受前端数据的几种方法总结
2016/11/04 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
python求前n个阶乘的和实例
2020/04/02 Python
Python多线程threading创建及使用方法解析
2020/06/17 Python
Python3爬虫关于识别点触点选验证码的实例讲解
2020/07/30 Python
python实现excel公式格式化的示例代码
2020/12/23 Python
加拿大在线隐形眼镜专家:PerfectLens.ca
2016/11/19 全球购物
北京华建集团SQL面试题
2014/06/03 面试题
C#笔试题和英文面试题
2013/02/07 面试题
运输服务质量承诺书
2014/03/27 职场文书
先进党支部申报材料
2014/12/24 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
教师见习总结范文
2015/06/23 职场文书
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python