最近在做项目的时候遇到一个需求。如果是第一次进入页面关闭页面,下次进来时不会弹出引导层。如果第一次进入页面后刷新页面引导层一直存在,那么我们要判断我们当前的操作是刷新页面还是关闭页面。通过以下操作,在vue页面使用localStorage存储定义好的logo,关闭浏览器删除logo,刷新浏览器无操作在需要操作的vue页面添加如下代码mounted(){letbeginTime=0;//开始时间letdifferTime=0;//时差window.onunload=function(){differTime=newDate().getTime()-开始时间;如果(differTime<=5){localStorage.removeItem('aitoken');localStorage.removeItem('userInfo');localStorage.removeItem('isLogin');console.log("这是关闭的");}else{console.log("这是一个刷新");}};window.onbeforeunload=function(){beginTime=newDate().getTime();};}分析刷新页面和关闭页面的方法:unbeforeunload和onunloadunbeforeunload()事件执行的顺序发生在onunload()事件之前。(因为unbeforeunload()是页面刷新前触发的事件,而onubload()是页面关闭后触发的)。unbeforeunload()事件可以禁止onunload()事件的触发。onunload()事件不能阻止页面关闭。
