前端如何检测出刷新动作,F5或者按浏览器刷新动作?

前端如何检测出刷新动作,F5或者按浏览器刷新动作?

阅读 3.3k
2 个回答

performance.navigation 只能判断是刷新还是跳转。

image.png

我感觉 blur 失去焦点,或者 onkeydown 之类的方法联合起来应该能捕获到用户的动作。

剩下没动作就是浏览器自带的刷新

通过页面重载的时间间隔来间接判断页面是否刷新。

window.onunload = function(e){
  localStorage.setItem("leaveTime", new Date().getTime());
}

window.onload = function(e) {
    const dis = new Date().getTime() - localStorage.getItem("leaveTime");
    const flashDis = 0.5 * 1000; // 可调整
    if(dis < fleshDis) {
        alert("刷新了页面!")
    }
}
推荐问题