javascriptで遊ぶ | Polyhedron

Polyhedron

速水が思った事を書いていきます。twitterを始めたのでこちらはほぼ廃墟かも。

たまには実際的な話を。


突然だが、適当なサイト(たとえばここ)に行って、以下の'java~focus()'をアドレス欄にコピペしてEnterを押してみてほしい。

javascript:with(document.body)innerHTML=innerHTML.replace(/。/g,'。<BIG><B>でもそんなの関係ねぇ!</B></BIG> ');focus()

このスクリプト自体は、昔から何度か流行っていた物を改変しただけなので、似たようなものを見たことがある人は多いかもしれない。全ての句点「。」を「。<BIG><B>でもそんなの関係ねぇ!</B></BIG> 」にreplaceしているのである。

javascriptは、コンパイルの必要もなく、型宣言も適当でいいので手軽に作れる。しかも(これは他のプログラミング言語にも言えることだが)少し書き換えるだけで、簡単に自分の目的にあったものに改変することもできる。

たとえば、「テキストファイルをhtmlに書き換えたいけど、最後に全部<BR>をつけるのが面倒だよぅ」という場合があったとする。
上のスクリプトをちょっとだけ書き換えてみよう。

javascript:with(document.body)innerHTML=innerHTML.replace(/\n/g,'&lt;BR&gt;');focus()

全ての「\n」を「&lt;BR&gt;」にreplaceしている。
ここで\nとは改行文字(正確にはその片割れ。改行だって文字なのである)、&lt;とは<の半角、&lt;とは>の半角である。
テキストファイルをブラウザ(IEとか)で開いてこれを噛ませれば、すべての改行直前に<BR>のついたテキストが出来上がる、というわけだ。

ここで紹介したのはほんの一例だが、他にも、トクトクの広告を見えなくしたり、htmlが間違って記述されているページを直したり、わかめて鯖で占い騙り文作成したり…など、アイデア次第で色々と応用が利くので、知らなかった暇人は試してみるといいだろう。


というわけで、今回は、多少面倒な単純繰り返し作業があったら、プログラムとかマクロとかを作って自動的にやらせればいいよ、という話でした。