Chrome 19で奇妙なバグが発生しました。私は完全なAJAX Webサイトを実装しました(すべての非外部リンクはAJAXリクエストによって開かれています)。 JSON形式でAJAXでHTMLスニペットを送信します。ChromeのAjax + pushStateのバグ
外部リンクを経由してサイトを離れて戻ったとき、ChromeはそのURLのキャッシュデータをレンダリングします。問題は、JSONコンテンツをキャッシュして完全なWebページではなく表示することです。
これは、次の手順で再現(UPDATE:私はそれ以来、私のウェブサイト上でAJAX機能を削除していないので、このバグはもはや表示されない):第二日に
- オープンhttp://beta.mirtes.cz/
- クリックリンク(16. 6. 2012の横に「それはすべて奇妙な電子メールで始まった」)。このページ(あなたは今はhttp://beta.mirtes.cz/it-all-began-with-a-strange-e-mailです)はAJAX経由で読み込まれます。
- 「すべてが奇妙な電子メールで始まった」をクリックしてください。あなたは外部のウェブサイトにリダイレクトされます。
- ページが完全に読み込まれた後、Chromeで[戻る]をクリックします。
Cache-Control:no-cacheですべてのAJAX応答を送信しようとしましたが、効果はありません。
Firefox 12は正常に動作します。
もう少し説明し、問題をどのように修正したか説明できますか? – Ryan
私は、追加のGETパラメータ(この場合はajax = 1)ですべてのAJAXリクエストを作成しています。このパラメータは、バックグラウンドでのみ実行されるため、ユーザーには表示されません。 –
URLが異なるため、ブラウザは完全なHTMLコンテンツとJSON AJAXコンテンツの違いを知ることができます。したがって、キャッシュされていないJSONコンテンツは表示されません。 http://ondrej.mirtes.cz/で私のホームページの機能をチェックすることができます。 –