「1.接続制限に達し、IEはまだすべてのコンテンツを受信していません」という点に関しては、WinInetではこの制限が課されています。私はこの問題に答えることさえしませんでした。ページの読み込み時間をさらに短縮する方法が問題に(ページ自体の中から)近づいています。 DanielのFiddlerについての提案は良いことです。同じホスト名に2つの要求が同時に処理されたときにログに記録するFiddler用の拡張機能やカスタムスクリプトを書くことができます。さもなければ、それは目を見張るような問題であり、同じホスト名の2つの要求が同時に処理されているかどうかを調べることですが、一般的に要求は非常に速く終了し、これをフィドラーUIを見ているだけで問題になることがあります。
「2.IEは、そのすべての要求から応答を受け取ったが、ページをレンダリングビジー状態です」ユーザーがそれと対話するためのページが準備ができているとき、それはあなたが知りたいのように聞こえます。事実は、IEはこれらのタスクを同期して実行せず、ダウンロード中にページをレンダリングし、IEはまだダウンロード中である間にページとやりとりすることができるということです。だから私がやったことは、インターネットエクスプローラのタブのスピナーアイコンがファビコンに切り替わるときをどのようにして知ることができるかを示す例がここに含まれています。 document.readyState == "complete"のときにスピナーが消えますが、ページはdocument.readyState == "interactive"上でユーザーと対話する準備ができています。これはdocument.body.readyState == " "complete"はdocument.body.readyState == "complete"がdocument.readyState == "interactive"の原因であるかどうかはわかりませんが、確かに一致するように見えます。しかし、すべてがダウンロードされたかどうかを判断したい場合は、DOMのすべての要素にreadyStateプロパティがあります。すべての要素がreadyState == "complete"を持っているかどうかを確認するDOMを列挙して、レンダリング。
サンプルhtmlはコンピュータに保存して実行することができますが、ローカルディスクから実行すると、IEはyello情報バーを表示し、右クリックしてスクリプトを実行する必要があります。スピナーはまだ回転しますが、とき「document.readystateで:完全な」という警告がされていることをあなたが気づくでしょう:HTMLがあなたはjavascriptのアラートが表示されるはず正しく実行されたときは、「インタラクティブdocument.readystateでの」と言う警告に気づくでしょうスピナーアイコンが消えてしまった。お役に立てれば。
<html>
<head>
<script language="javascript">
document.onreadystatechange = function(e)
{
alert("Document State: " +
document.readyState +
"\nBody State: " +
document.body.readyState);
};
</script>
</head>
<body>
Test Content
<div id="placeToAddTo"></div>
<script language="javascript" type="text/javascript">
for(var i = 0; i < 1000; i++)
{
var obj = document.createElement("div");
obj.innerText = "Div Number: " + i + " Document State: "
+ document.readyState + " Body State: "
+ document.body.readyState;
document.getElementById("placeToAddTo").appendChild(obj);
}
alert("completed creating object");
</script>
</body>
</html>
ありがとうdanp。しかし、JavaScriptコールが無限ループになっている場合、接続プールが使い果たされた場合、ビジー状態になっている接続の数を取得するために、いくつかのJavaScriptハンドラのような情報をプログラムで取得する方法はありますか? – avinash
私は気付いていません - 私はmsdnを掘り起こし、この情報を入手する方法があるかどうかを確認するケースを推測します。ちょっとネットのアプリでそれにフックできるいくつかの方法があるかもしれませんが、私はちょうど推測しています。それは、あなたが知る必要のないようなもの、またはクライアント側のコード最適化で解決できるもののように思えます。 – dmp