首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS判断浏览器关闭和刷新

本文共918字 阅读约需3分钟

转行前端不久,遇到好几个问题,虽然磕磕碰碰但是总算是打死了这一个个的拦路虎;

今天分享一个昨天天刚解决的问题:区分浏览器关闭和刷新的方法;

本人不知怎么就把代码逻辑写到了这里话不多说直接切入正文。

需求:

我需要在浏览器关闭的时候清除掉localstorage中的一个值,但是在刷新的时候不对localstorage进行操作;

了解:

浏览器关闭执行的是 beforeunload , unload 这两个事件;

而浏览器刷新执行的是beforeunload, unload, load 三个事件;

思路:

虽然刷新与关闭都会走onbeforeunload与onunload,但可能因为刷新在加载新页面前内部机制还需要做一些准备工作,所以刷新事件在执行到onunload事件时,用的时间会比关闭事件时间长。

所以,通过时间差来判断浏览器是刷新还是关闭,浏览器执行beforeunload的时候给一个开始时间,执行unload的时候给一个结束时间;判断一下时间差;我设置的是5毫秒来区分浏览器的关闭和刷新,具体的时间最好还是亲自测一下;

最后贴上我的代码

我是胡图,让我们一路同行

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190901A0DKVM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券