尝试在页面卸载时执行一系列操作,但页面卸载速度太快而无法完成

时间:2010-06-07 05:39:46

标签: javascript browser dom-events

我想在页面卸载时执行一系列操作。即,如果用户正在编辑输入字段,并且他们刷新或关闭浏览器或离开页面,我想保存该字段的内容。

这些操作不包含AJAX调用,所以我不能让它同步。它实际上是保存到本地存储,但页面在存储可以发生之前卸载。代码是正确的,如果我向操作添加警报,延迟允许其余代码在显示之前完成。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

卸载时使用prevent default

window.onunload = function(event){
   if(!event.handled){
     event.handled = true;
     event.preventDefault(); //stop the default action
     // and do your operations here
     //now close the window
  }else{
    //close the window
  }
}