1

ページ上の特定の div を自動更新するスクリプトがあります (こちらの別の投稿から取得しました)。

<script type="text/javascript">
    var auto_refresh = setInterval(
    function(){
        $('#refresh').load('index.php?_=' +Math.random()).fadeIn("slow");
    }, 10000); // refresh every 10000 milliseconds
</script>
...............
<div id="refresh">
  <!-- Some PHP Code -->
</div>

これは更新されますが、更新されると、html ドキュメント全体を取得して div に配置します。このような:

div 内の本文

ご覧のとおり、更新された div (赤でマークされたもの) に body が押し込まれています。何か案は???

4

2 に答える 2

4

まず、ページ全体を仕切りにロードしているため、ファイル全体が再ロードされます。代わりに、最初のページの読み込み時であっても、最近の投稿ディバイダーを 1 つのファイルから読み込む必要があります。次に、それを時間の経過とともに一貫して更新します。

次に、サーバーからクライアントに転送するデータはできるだけ少なくする必要があります。クライアントとサーバーが同期していることを確認するには、最小限のチェックサム (たとえば、メッセージ数) を使用する必要があります。

最後に、この形式を使用する場合は、JSONXMLなどでデータを転送し、クライアントにそれをページに表示させることを目指します。スタイル付き HTML を転送すると、ネットワーク オーバーヘッドが増加するため、ベスト プラクティスではありません。

于 2012-10-22T05:31:56.643 に答える
4

ページ全体をdivにロードしています。フェッチされたドキュメントの一部のみを使用するようにコードを変更します。

    <script type="text/javascript">
        var auto_refresh = setInterval(
        function(){
            $('#refresh').empty();
            $('#refresh').load('index.php?_=' +Math.random()+' #refresh').fadeIn("slow");
        }, 10000); // refresh every 10000 milliseconds
    </script>
于 2012-10-22T06:41:24.977 に答える