ブックマークレットを手軽に作るブックマークレット
ブックマークレットはいろいろ便利に使えるので、作るのも楽しいのですが、エディタ一つで作ろうとすると結構面倒なものです。
作ったことのある人はわかると思いますが、1行に収めるからといって最初から改行を使わずに作るのは、見通しが悪くて作りづらいものです。そこで最初は改行入りのソースをエディタで書き、最後に一行にまとめてから、アドレスバーに貼り付けて動作確認をすることになるのですが、トライ&エラーを繰り返していると、だんだんそれが苦痛になってきます。エディタとブラウザをいったりきたりするのさえ面倒になってきます。
なので、普段はエディタを使わずに、ブラウザ上で動く自作のアプリを使っています。テキストエリアに書いたソースをボタン一つで一行にまとめて、ブックマークレットのリンクを生成することができます。ブラウザ上で動かしているので、エディタとブラウザをいったりきたりする手間も省けて作業効率大幅アップです。
で、今回はさらにそれをブックマークレットとして実装し直したものを公開します。
ブックマークレットを作る (Firefox用)
テキストエリアにソースを書いてmakeボタンをクリックすると、そのソースが埋め込まれたリンク(New Bookmarklet)が生成されます。一番下に生成されるテキストは、ココログへ投稿するときなど使えます。&、<、>、"がそれぞれ&、<、>、%22に変換されているので、そのままXHTMLにも埋め込むことができます。
また、動作確認ボタンをクリックすると、リンクの生成は行わずにテキストエリアの内容を実行します。なお、値を返さないように「void」を書いたり、「javascript:」を先頭に付ける必要はありません。自動で追加されます。
興味のある方はお試し下さい。


Comments
このツールは開発効率をかなりあげてくれますね。
エスケープが一つ目と2つ目で違って扱われているみたいです。どちらが正しいんでしょうか?
str="A%0A%0AB";alert(str);
location.href='mailto:test@myhost.mydomain?SUBJECT=test2'+' &body='+str;
メールに改行を入れたかったのですが..
(先ほど、別のページにコメントをつけてしまったようです。すみません。)
Posted by: HM | November 23, 2004 at 10:40 AM
> エスケープが一つ目と2つ目で違って扱われているみたいです。
あ、ほんとだ。
ちょっと調べてみますね。
Posted by: marklet | November 23, 2004 at 02:23 PM
HMさん。ご指摘ありがとうございました。
修正しましたので、試してみて下さい。
バグのある「ブックマークレットを作る」ブックマークレットで、「ブックマークレットを作る」ブックマークレットを作ろうとしたら、はまってしまいました。
久しぶりにウェブアプリ版のブックマークレット作成ツールを使ってようやく解決(^^;
Posted by: marklet | November 23, 2004 at 03:52 PM
続報です。おかしかったのは「動作確認」だけのようで、「make」してやると期待したの挙動になりました。
それにしても便利なツールですよね。手書きでやった苦労はなんだったのか...。Marklet制作意欲が沸いてきます。
Posted by: HM | November 23, 2004 at 04:11 PM
行き違いになってしまいました。
一つ目と2つ目の挙動は同じになりました。しかし、「動作確認」と「make」後の挙動が違いますね。
こういう挙動を揃えるのって結構大変そうな気もします。
escapeが絡んでくると「make」してからテストすることを心がけるのが良いのでしょうか?
Posted by: HM | November 23, 2004 at 04:18 PM
> 「動作確認」と「make」後の挙動が違いますね。
う、余計な処理をしていました。
もう一度、確認お願いします。
> escapeが絡んでくると「make」してからテストすることを心がけるのが良いのでしょうか?
いえ、たぶんこれで大丈夫でしょう。たぶん。。。
Posted by: marklet | November 23, 2004 at 05:56 PM
ばっちりでした。ありがとうございました。
Posted by: HM | November 23, 2004 at 06:23 PM