3

ページで AJAX 呼び出しを使用すると、ページのソースがそのまま残ることがわかりました。これにより問題が発生する可能性があります。たとえば、ユーザーがブラウザで前方/後方操作を使用した場合、ページ ブラウザに戻ると、AJAX コンテンツを含むものではなく、元の HTML コードが表示/読み取られます。たとえば、次のようなページを作成するとします。

<div id="foo">
<script type="text/javascript">
setTimeout('ajaxFunction', ...);
</script>
</div>

ページをロードすると、ajaxFunction が呼び出され、最終的に div タグのコンテンツが id="foo" に置き換えられます (ところで、再帰呼び出しでもかまいません)。ただし、ブラウザから表示できるページ ソースには、このスニペットがまだ含まれています。ページをリロードせずにページ ソースを更新する方法はありますか?

AJAX コード内にページのリロードを追加できることはわかっていますが、それを避けて、エンド ユーザーの邪魔にならないようにしたいと考えています。

4

3 に答える 3

3

ブラウザは、HTTP応答でサーバーから受信したコンテンツを表示しています。DOMのすべての動的な変更はそこに反映されません。そのため、FFのfirebugまたはChromeの開発者ツールを使用して動的な変更を追跡できます。

于 2012-09-10T16:04:23.470 に答える
1

右クリックで利用できる「ソースを表示」オプションを使用している場合、すべてではないにしても一部のブラウザーは、HTML を取得するために別の要求を行っています。開発者ツール/Firebug は更新された HTML を表示しますが、次/進むナビゲーションの後、最初の HTML (JS/AJAX による変更なし) が表示されるようです。クロムも動的な変更をキャッシュすると思っていましたが、これを確認したところ、最初のページが表示されました。この動作を変更する方法がないとします。ここでの唯一の方法はdocument.onload、最新の情報がユーザーに表示されることを確認したい場合は、 ajaxFunction を呼び出すことです。

于 2012-09-10T16:15:10.897 に答える
0

ロードされたページのソースをリロードまたは再送信せずに取得する必要がある場合は、ほとんどの場合うまく機能するこの Chrome 拡張機能をお勧めします。

https://chrome.google.com/webstore/detail/quick-source-viewer/cfmcghennfbpmhemnnfjhkdmnbidpanb

于 2015-11-05T17:55:10.147 に答える