在IE10卸载事件中,没有任何形式的数据(Unload event in IE10, no form

2019-10-28 19:55发布

我已经迷上window.unload救我的表单数据在紧急情况时,用户只要关闭浏览器。 我通过POST发送此用ajax。 这部作品在IE9,Chrome浏览器等等,而不是在IE10在表单数据为空(使用GET是一种变通方法)。

我找不到这种行为的任何参考资料,它的地方记录?

Answer 1:

我想,你正在使用这样的代码:

<html>
   ...
   <body onunload="inOnUnload();">
      ...

inOnUnload() -函数被定义如下所示:

function inOnUnload() {
   xmlhttp.open("POST", "http://some-location", /*async*/ true);
   http.send(request);
}

这种在IE10的问题是,它似乎取消请求,文件终于被卸载后。 这种情况发生在表单数据有机会叶客户端之前。 要发送的数据中onunload在IE10的事件,您必须使用async = false参数XMLHttpRequest.open(...)

以下为我工作得很好:

function inOnUnload() {
   xmlhttp.open("POST", "http://some-location", /*async*/ /*!!!*/ false);
   http.send(request);
}


文章来源: Unload event in IE10, no form data