bookmarkletの文字数制限を無くす
bookmarkletを作るとき、IEでは500文字ちょい、Firefoxでは2000文字ぐらい(?)の文字数制限がある。また、作った後に一行にまとめたり、デバッグしたりも大変面倒。でもそれがとても簡単な方法でどうにでもなることをインターフェイス!インターフェイス!の人に教わった。
javascript:(function(){var s=document.createElement("script");s.charset="UTF-8";s.src="http://example.com/example.js";document.body.appendChild(s)})();
createElementでscript要素を作って、その中にhttp://example.com/example.jsとソースを指定することによってそのJSを実行できる。WinIEとFirefoxでは確認済み。もちろんcharsetを指定することにより好きなエンコーディングでブックマークレットを記述できる。これがすげー便利で、サーバ上のjsファイルを編集してこのブックマークレットを実行することで簡単にデバッグもできるし、機能追加などもjsに追加すればいいだけ。ただ問題となるのが、通常のブラウザの場合、サーバにリファラを送ってしまうこと。どのページでブックマークレットを実行したかが解ってしまう。それがブックマークレット利用者で嫌な人は、リンク先のJSを自分のサーバに落としたりなどが必要になる。
まぁそんなことはたいてい気にしないと思うので、この方法でbookmarkletを作るのも全然アリだろう。