読者です 読者をやめる 読者になる 読者になる

素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

エディタで編集するだけでhtmlファイルをリロードするJavaScriptライブラリ

javascript

追記:最速インターフェース研究会 :: Firefoxでの開発を高速化する自動リロードスクリプトで既出でした。

デモを
2008-11-03_1209 - javascripter's library
に置いた。
ライブラリ本体は
javascripter's
gist: 21788 — Gist
にある。

(function () {
  var last = null;
  (function request() {
    with (new XMLHttpRequest()) {
      open('get', location.href, true);
      send(null);
      onload = function () {
        if (!last || last == this.responseText) {
          last = this.responseText;
          setTimeout(request, 500);
        } else {
          location.reload(true);
        }
      };
    }
  })();
})();

XMLHttpRequestとsetTimeoutを使って、定期的に自分自身を読んで、ファイルの内容に変更があったらリロードする。location.reloadの引数にtrueを渡すと、キャッシュを無視して読み込んでくれる。
この方法だと特別な環境を用意しなくていいから意外と使える。