(主にFirefox向けの)bookmarkletを作成する時に利用している秀丸マクロです。
//js2bmlt.mac selectall; copy; newfile; disabledraw; paste; gofiletop; insert "javascript:"; replaceallfast "\\n","%0A", regular; replaceallfast "\\t","%09", regular; replaceallfast " ","%09", regular; gofiletop; replacedown "(%0A|%09|%20)+$", "", regular; gofileend; selectall; cut; quit;
例えば、秀丸上で
(function(){ alert('Hello World!'); })();
というスクリプトを書いた状態でjs2bmlt.macを実行すると、
javascript:(function(){%0A%09alert('Hello World!');%0A})();
という内容がクリップボードに保存されます。あとはブラウザのアドレス欄にペーストしてEnterを押すだけで実行テストができます。
※一瞬新しいウィンドウが開いてすぐ閉じますが、気にしないでください。
FirefoxはURI中のパーセントエンコーディングを該当の文字にデコードして認識してくれるので(%0Aは改行、%09はタブとして解釈)、上記のようなスクリプトも問題なく実行できます。
//bmlt2js.mac gofiletop; replacedown "^javascript:", "", regular; replaceallfast "%0A", "\\n", regular; replaceallfast "%09", "\\t", regular; replaceallfast "%20", " ", regular;
js2bmltで作成した、
javascript:(function(){%0A%09alert('Hello World!');%0A})();
というbookmarkletを、
(function(){ alert('Hello World!'); })();
という改行・インデント入りのスクリプトに戻すためのマクロです。
スクリプトをbookmarkletにする場合、改行を削除しなければならないため、一旦ブラウザのブックマークに保存すると再編集するのが困難になってしまいますが、js2bmlt.macにより改行・インデントをパーセントエンコーディングにより保存しておけば、ブラウザのブックマークに保存した後でも再編集するのが楽になります。
//js2bmlt2.mac selectall; copy; newfile; disabledraw; paste; gofiletop; insert "javascript:"; replaceallfast "\\n"," ", regular; replaceallfast "\\t"," ", regular; replaceallfast " +", " ", regular; selectall; copy; quit;
OperaやIEでbookmarklet(JavaScript)の動作確認をする時に使っています。改行・タブは空白に変換してしまうので元に戻すことはできませんが…
YukiWiki 2.1.2 (C) 2000-2004 by Hiroshi Yuki.