0

解決策のない問題があり、助けが必要です。

私は安全なコードを使用して http の更新を防止し、クライアントの要求があまりにも多くの HTTP 応答を返すかどうかを監視し、サーバーがダウンするのを防ぎます。

ページの更新が多すぎると、クライアントは「読み込み中...」というタイトルの空白のページを 2 秒間取得し、その後通常のページの読み込みが行われます。

コードを使用するには:" meta http-equiv="Refresh" " タグを使用し、特定の状況で何らかの理由でページが停止せずに更新されます。

私はいくつかの解決策を探しましたが、それは Chrome からの「問題」であり、明らかに解決策がないことがわかりました。

クライアントが Chrome を使用しているかどうかを確認するために JavaScript を使用してみます。Chrome がメタ タグで更新されない場合は、JavaScript で更新します。

とにかく、Chrome は今でもこの動作を示しており、気が狂いそうになります。

試してみたい場合は、www.sport4u.com.br にアクセスして、ページ上の任意の製品またはリンクにアクセスし、F5 を何度も (10 秒間) 押して、タイトルを読み込んで空白の画面が表示されたら、[履歴戻る] ボタンを押して、待ってください。

何が原因で、どうすれば解決できますか?

4

2 に答える 2

3

OK、これは非常に奇妙です。Chrome の自動翻訳機能が原因のようです。私はChrome 24.0.1312.5 dev-m英語の Windows 7 で実行しています。http://www.sport4u.com.br/をロードすると、ページは 2 秒ごとに自動的にリロードされます。実際、ページのソースを表示すると、次のようになります。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />

<meta http-equiv="Content-Language" content="tr">
<script>
    window.setTimeout('window.location.reload(); ',2000);
</script>
<title>Loading...</title>
</head>


<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0" bgcolor="#fff">

すぐにreload()コードが表示されます。

Chrome は、ページがポルトガル語であると認識し、翻訳を提案するため、ページの上部にある自動翻訳バーも開きます。ただし、2 回目のリロード (2 秒後) で、Chrome はページがトルコ語であると認識するようになりました (これは上記のコードの言語であるため)。これは、最終的に Chrome が停止するまで何度も続きます。上部の翻訳バーを閉じても、リロードは停止しません。

Chrome の翻訳設定 (chrome://settings/search#languages) を無効にしてページを読み込むと、更新が行われず、ソースを表示すると正しいページが返されます。

ページを更新しないように Chrome に指示することをお勧めしますまたは、ページが間違った言語であると Chrome に認識させている特定の文字のエンコーディングの問題を修正します。W3C バリデーターを介してページを実行すると、正しくエンコードされていない文字が表示されます。これが原因である可能性があります。

于 2012-11-09T12:25:53.147 に答える
1

に代わるものを試しました"meta http-equiv='refresh'"か?

header();そのメタタグは減価償却されているため、代わりにコンテンツが読み込まれる前に使用してリダイレクトすることを検討してください。

header("Location: index.php");
die();
于 2012-11-09T11:50:10.680 に答える