因此,当页面刷新或用户退出页面以供将来使用时,我想在浏览器的本地存储中存储一些信息。我发现我会使用一些Javascript来检测事件并存储页面访问的状态。

现在我的困境是:我应该使用Onbeforeunload还是Onunload方法来实现这一目标?

谢谢

最佳答案

为了安全起见,为什么不向两者都注册呢?只需让侦听器检查数据是否已存储并尽早退出即可。

这是一个使用事件属性的简单示例:

window.onunload = window.onbeforeunload = (function(){

  var didMyThingYet=false;

  return function(){
    if (didMyThingYet) return;
    didMyThingYet=true;
    // do your thing here...
  }

}());

或者您可以使用attachEvent:
(function(){

  var didMyThingYet=false;

  function listener (){
    if (didMyThingYet) return;
    didMyThingYet=true;
    // do your thing here...
  }

  window.attachEvent("onbeforeunload", listener);
  window.attachEvent("onunload", listener);

}());

10-02 14:00