JavaScript页面状态变化判断:刷新,离开,

这里所有相关判断都是pc端的,移动端另寻出路

页面离开事件触发多种多样比较常见有onunload,onbeforeunload,pagehide

但是怎么判断是离开还是刷新还是没有解决。。。

  1. 当前tab不关闭通过链接离开当前页面进入其他页面,

可以通过history的长度来进行判断是刷新页面还是重新进入,这种判断方法应该始于onload类似事件或类是生命周期结合的

if(localStorage.getItem('history')!=history.length){
    localStorage.setItem('history',history.length);
    alert('页面是从新进入');
} else{
    alert('页面刷新');
}

     2.怎么判断页面的离开和和关闭,只需要onunload,onbeforeunload就能简单的实现,但是这两个事件在刷新页面时同样会触发这一点需要注意

window.onunload = function(){
    alert('页面离开或刷新');
}

注意:两端代码作用时机不一样,判断页面刷新是为了处理页面进入时需要做那些准备工作,离开是清理页面遗留的存储的工作

更多参考  阮一峰Page Visibility API 教程

页面自动刷新1次

$(function () {
    if(!sessionStorage.getItem('isreflash')){
        location.reload(true);
        sessionStorage.setItem("isreflash", "1");
    }
    else{
        sessionStorage.removeItem('isreflash');
    }
})

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值