因此,当页面刷新或用户退出页面以供将来使用时,我想在浏览器的本地存储中存储一些信息。我发现我会使用一些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);
}());