2

関数が呼び出されたときにページを強制的に更新するために、window.location.reload(true) を呼び出す JS を含む aspx ページがあります。

これは、ページが期待どおりにリロードされ、数回は機能しているように見えますが、関数が呼び出された (つまり、関数内のアラートが表示された) シナリオに到達しましたが、リロードは発生しません。同じ結果で window.location を設定しようとしました-2回または3回動作してから失敗します。

これは Firefox (16) では発生しませんが、異なるバージョンの IE (7 & 9) で発生しています。

Fiddler を使用してブラウザーのトラフィックを監視すると、リロードが機能しているときはすべて期待どおりですが、リロードが停止したときにトラフィックが報告されず、ブラウザーが要求をサーバーに送信していないことが示唆されますか? 読み込みスピナーが回転して IE ウィンドウが空白になりますが、最終的に IE はエラー ページを表示します。

Internet Explorer cannot display the webpage 

Most likely causes:
You are not connected to the Internet. 
The website is encountering problems. 
There might be a typing error in the address.

これにより、ブラウザがロックされているように見えます。別の Web サイトにアクセスしようとすると、Fiddler で同じ出力が返されます (何もありません)。新しい IE ウィンドウを開くと、問題なくサイトにアクセスできます。

これにより、最初は __doPostBack を介して UpdatePanels を更新する際に問題が発生していたため、この JS によるページのリロードは迅速な回避策と見なされていましたが、そうではないようです。

これはサーバーに関連していると思いがちですが、Firefox で問題を再現できませんでした。ただし、これは残念ながら IE で動作する必要があります。

どんなアイデアでも大歓迎です!

以下の JS スニペット (これはかなり単純なものですが)

function ReloadWindow() {
    alert(window.location); // Can see this alert, even when page fails to reload

    window.location.reload(true);

}
4

0 に答える 0