<!DOCTYPE html>
<html>
    <head>
        <title>Test</title>
        <!-- JQuery code -->
        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        
        <!-- Script which refreshes each element every 5 seconds -->
        <script>
            setInterval(reloadElements, 5000);
            function reloadElements() {
                $('#refresh').load(location.href+' #refresh');
            }
        </script>
    </head>
    <body>
        <p id="refresh">
            This is some paragraph text. <br />
            
            <ul>
                <li> List item one. </li>
                <li> List item two. </li>
            </ul>
        </p>
    </body>
</html>
この HTML ファイルは、常にクライアント上にローカルに存在します。
私がこのスクリプトを書いた理由は、ファイルに加えられた変更を自動的にページに反映できるようにするためです (つまり、ページを手動で更新する必要はありません)。この HTML ファイルに書き込む C++ アプリケーションがあります (<p id="refresh">タグの内容のみを変更します)。
私のテスト マシンは、Windows XP 32 ビットを実行しています。
Google Chrome バージョン 26.0.1410.64 m での動作:
--allow-file-access-from-filesパラメータを指定してコマンド ライン引数を指定せずにChrome を実行し、テキスト エディタを使用して .html ファイルを変更すると、変更がブラウザに表示されませんでした。
Internet Explorer、バージョン 8.0.6001.18702、Mozilla Firefox、バージョン 20.0.1 での動作:
段落テキストのみの変更が機能します (つまり、変更が反映されます)。リストの要素を変更したり、リストの後に何かを追加したりしても反映されません。
JS Binでの動作:
予想どおり、Web ページを開いてテキスト エディターを使用して .html ファイルを変更した後、5 秒間隔が経過したときに変更がブラウザーに反映されました。
現在、Internet Explorer、Google Chrome、および Mozilla Firefox のみをサポートする必要があります。
なぜこの違いがあるのですか?私は何を間違っていますか?私が望むものを達成するためのより良い方法はありますか?
PS: これは私の最初の Web ページ コードです。
アップデート:
Firefox と Internet Explorer の問題は、 squintの役立つ提案のおかげで修正されました(以下のコメントを参照)。基本的に、<p>エレメントの内容を別の .html ファイルに入れ、そのファイルをロードするように JQuery ロードを変更しました。ただし、これがどのように違いを生むかはわかりません。