私がコーディングしてきたphpベースのアプリケーションでは、次の小さなコードブロックがあります。
if (isset($_SERVER['QUERY_STRING'])) {
header("Location: " . $_SERVER['QUERY_STRING']);
}
私のアプリケーションでは、フレームセットとフレームを使用しています。このコードはメインコンテンツエリアフレームに存在し、IEで実行すると、手動で読み込みを停止しない限りブラウザを強制終了する無限ループを作成します。
このコードの目的は、URLにクエリ文字列が追加されているかどうかを検出し、追加されている場合はそのクエリ文字列にリダイレクトすることです。私は主にchromeとfirefoxを使用して開発してきましたが、今日はIE9でテストすることにしました。以前のバージョンではテストしていませんが、これまでのところ、この動作はIEでのみ発生し、なぜこのようなことが発生するのかについて率直に言って困惑しています。私はこことインターネットで同様の質問を検索しましたが、これまでのところサイコロはありません。
編集
以前の編集で述べたように、私はフレームセットとフレームを使用してインターフェイスを制御しています。左側のフレームであるサイドバーには、メインの「コンテンツ」エリアフレームのベースターゲットとのリンクが含まれています。コンテンツ領域フレームのコンテンツには、親ウィンドウのURLにクエリ文字列を追加するjavascriptが含まれているため、インデックスページにアクセスすると(クエリ文字列が存在する場合)、コンテンツフレームがその特定のページにリダイレクトされます。
これはChromeでは完全に正常に機能します。IE(またはこの編集の時点で私が発見したFirefox)ではありません。つまり、代わりに、フレームセットを含むページであるインデックスページにリダイレクトし、これを永久に実行して、サイドバーの後にサイドバーを作成します。