页面关闭,刷新区分-------清除浏览器缓存

1、对于谷歌,ie,360
页面加载时只执行onload
页面关闭时先执行onbeforeunload,最后onunload
页面刷新时先执行onbeforeunload,然后onunload,最后onload
2、对于火狐
页面刷新时,只执行onunload;页面关闭时,只执行onbeforeunload
3、页面刷新、关闭判断
思路:在cookie中添加标志位tempFlag,刷新和关闭都会执行onbeforeunload和onunload事件,因此,在onload中判断session中的tempFlag存在时为刷新,当关闭页面后tempFlag被移除,cookie的清除是在再次进入网页时tempFlag不存在于是清除cookie重新加载,具体代码如下:
import util from '@/libs/util'//根据自己的cookie封装文件引入
window.onbeforeunload=event=>{
window.sessionStorage["tempFlag"]=true
}
window.onload=event=>{
if(!window.sessionStorage['tempFlag']){
util.cookies.remove("token")
location.reload()//重新加载必须写,原因是在onload时页面cookie已经生成,此时清除cookie页面也不会有反应,若不写,则加载的仍是原cookie页面,而不是清除后的
}else{
window.sessionStorage.removeItem("tempFlag")
}
}
window.onunload = event => {
window.sessionStorage["tempFlag"]=true
};
我的cookie封装文件:util.cookie.js
【页面关闭,刷新区分-------清除浏览器缓存】import Cookies from 'js-cookie'

    推荐阅读