0

ユーザーがブラウザを閉じたときに緊急時にフォームデータを保存するために、window.unload をフックしました。POST経由でajaxを使用してこれを送信します。これは IE9 や Chrome などでは機能しますが、フォーム データが空の IE10 では機能しません (回避策として GET を使用します)。

この動作への参照が見つかりません。どこかに文書化されていますか?

4

1 に答える 1

2

次のようなコードを使用していると思います。

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

inOnUnload()-function は次のように定義されています。

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

IE10 での問題は、ドキュメントが最終的にアンロードされた後、リクエストをキャンセルしたように見えることです。これは、フォーム データがクライアントを離れる前に発生します。IE10 のイベントでデータを送信するには、 のパラメーターをonunload使用する必要があります。async = falseXMLHttpRequest.open(...)

以下は私にとってはうまくいきます:

function inOnUnload() {
   xmlhttp.open("POST", "http://some-location", /*async*/ /*!!!*/ false);
   http.send(request);
}
于 2013-07-03T13:07:50.803 に答える