私のテストでは、Chromeを(おそらく他のWebkitブラウザと同じように)AJAXリクエストをページから出す前に実行できません。onunload/onbeforeunloadで安全にAJAXをやっているWebkit(ChromeやSafari)の方法
たとえば、ユーザーがリンクをクリックしたか、ページを離れたため、サーバー上の何かをクリーンアップする必要があるとします。
私が最初に気づいがwindow.onunloadがChromeでとにかく動作しないということである(?のWebkit)
あなたは、このような体内に入れないようにしてくださいwindow.onbeforeunload使用していたら:それは原因無視されます。あなたはwindow.onbeforeunload = function(){...}を使ってバインディングが完了したことを確認してください(またはjqueryやプロトタイプのlibsを使用してください)
WITHIN前のコードをコンパイルするとこのようなAYAXは動作しません次のいずれか
var req = new XMLHttpRequest();
req.open("GET", "dosomething.page");
req.send(null);
(これはFirefoxで動作しますが)
要求は、同期このよう作られている場合のみならばそれは動作します:
var req = new XMLHttpRequest();
req.open("GET", "dosomething.page",false);
req.send(null);
が、サーバーが応答しない場合、同期によってブラウザーが2分間停止する可能性があることに注意してください。
また、Firefoxはonunloadで動作しないようです。
最後に、各ブラウザまたはブラウザファミリに異なるコードパスを指定する必要があります。
これでIEを正しくテストできませんでした。 誰も知っていますか? IEはこれのChromeやFFによく似ていますか? それとも両方とも違うのですか?