如何区分浏览的刷新和关闭

为了区分浏览器的刷新和关闭,可以利用window对象的onbeforeunload和onunload事件。这两个事件在浏览器关闭和刷新时都会触发,但是它们的执行顺序不同,可以通过判断它们之间的时间差来区分浏览器的刷新和关闭。

let beginTime = 0; // 执行onbeforeunload的开始时间

window.onbeforeunload = function() {
  beginTime = new Date().getTime();
}

window.onunload = function() {
  let differTime = new Date().getTime() - beginTime;
  if (differTime <= 5) {
    console.log("浏览器关闭"); // 这儿可以放浏览器关闭时的执行代码
  } else {
    console.log("浏览器刷新"); // 这儿可以放浏览器刷新时的执行代码
  }
}

在这个示例代码中,我们在onbeforeunload事件中记录了开始时间,然后在onunload事件中计算了时间差。如果时间差小于等于5毫秒,就说明是浏览器关闭,否则就是浏览器刷新 

你可能感兴趣的:(javascript,javascript,前端,开发语言)