動的 ajaxy アプリがあり、ユーザーがエクスプローラー ウィンドウを閉じたときに状態を保存します。すべてのブラウザで問題なく動作しますが、IE では問題があります。アプリケーション タブを 2 回閉じた後、サーバーに接続できなくなりました。
私の理論では、タブが閉じられている間にサーバーへの接続が完了せず、どういうわけかie7はサーバーへの未解決の接続が2つあると考えているため、新しい接続を無期限にキューに入れます。
誰でもこれを経験しましたか、回避策または解決策はありますか?
動的 ajaxy アプリがあり、ユーザーがエクスプローラー ウィンドウを閉じたときに状態を保存します。すべてのブラウザで問題なく動作しますが、IE では問題があります。アプリケーション タブを 2 回閉じた後、サーバーに接続できなくなりました。
私の理論では、タブが閉じられている間にサーバーへの接続が完了せず、どういうわけかie7はサーバーへの未解決の接続が2つあると考えているため、新しい接続を無期限にキューに入れます。
誰でもこれを経験しましたか、回避策または解決策はありますか?
IE でロングポーリング AJAX リクエストを使用する場合、「アンロード」時に XHR 接続を閉じる必要があります。そうしないと、サイトから離れた場合でも、ブラウザによって存続します。ブラウザがオープン接続の最大制限に達するため、これらのキープアライブ接続が原因でハングが発生します。
この問題は、他のブラウザでは発生しません。
まあ、接続制限を簡単に回避できます。ワイルドカード ドメインを作成し、サブドメインをラウンドロビンするようにアプリに指示するだけです。私のnetMailアプリケーション用のegarsrc.dmvnoc.com、b.rsrc.dmvnoc.comなど。このトリックがなければ、すべてのイメージをプリロードするのに LAN でほぼ 30 秒かかりますが (MSIE の接続制限が低いため)、このトリックを使用すると、イメージは約 1 秒でダウンロードされます。
スクリプトをこのトリックと組み合わせる必要がある場合document.domain
は、新しいスクリプトで親に設定するだけです。
ただし、とにかく変更時に状態をチェックポイントしたい場合があります。ユーザーがネットワーク接続を失ったり、コンピューターがクラッシュしたりする可能性があります。ネットワーク トラフィックを減らしたい場合は、関連する状態を含む Cookie をクライアントに設定させるだけです。そこに大量 (3000 バイト程度) を格納すると、サーバーは次の接続でそれを自動的に取得します。 (現在のように) 結果を保存し、Cookie を削除して、状態を保存したことを知らせることができます。