# アメブロの本文中でJavaScriptを動かすハック _published: 2008/09/02_ ![alt](http://b.hatena.ne.jp/entry/image/http://d.hatena.ne.jp/shunsuk/20080902/1220354891) 昨日に引き続き、はてなーの皆さんは、まったくもって興味が無いと思いますが、アメブロの話です。 - [アメブロのアクセス解析が酷すぎる件について - このブログは証明できない。](http://d.hatena.ne.jp/shunsuk/20080901/1220269118) 今日は、悪いネタじゃないと思いますよ。たぶん。。 livedoor Blogの一番魅力的なところは、ブログ本文でJavaScriptを動かせることだと思っています。dankogai氏が404で時々やってますよね。はてなダイアリーでも、JavaScriptが動かせたらと思っている人も多いのではないでしょうか。 アメーバブログ(アメブロ)も、はてなと同じく、本文中にJavaScriptを埋め込むことができません。ポストしようとすると、不正なタグだとかで怒られます。そこで、ハックしてみました。 とりあえず、動いてる様子を。葵ちゃんのブログで。 - [やったー!アメブロでJavaScriptが動いたよー!|女子高生ハッカーを目指すのだ。](http://ameblo.jp/aoi-hacker/entry-10133340011.html) IE、Firefox、Safariで動作確認しています。 では、やり方です。若干、力技ですが。 アメブロではサイドバーにプラグインを追加することができます。カレンダーやブログパーツなどですね。ここに、フリープラグインというプラグインを追加できます。フリープラグインは、その名の通り自由です。好きなようにHTMLを書くことができます。それだけじゃなく、JavaScriptも書けます。JavaScriptを書ければ、あとはやりたい放題ですね。 フリープラグインに下のコードを貼付けます。 ```html <script type="text/javascript"> (function() { var codes = document.body.innerHTML.match(/<pre [\w\s:;"=]*class="?eval"?[\w\s:;"=]*>((.|\n)*)<\/pre>/gi); if (codes == null) return; for (var i = 0; i < codes.length; i++) { eval(codes[i].replace(/<\/pre>/i, "").replace(/<pre [\w\s:;"=]*class="?eval"?[\w\s:;"=]*>/i, "")); } })(); </script> ``` そうです。本文中に書かれたJavaScriptをevalして実行してしまおうという魂胆です。 本文中に、こんなカンジでコードを埋め込みます。 ```html <pre class="eval"> // JavaScriptのコードを書く </pre> ``` コードを表示したくなければ。 ```html <pre class="eval" style="display:none"> // JavaScriptのコードを書く </pre> ``` 上の葵ちゃんのエントリには、こんなコードを書いています。 ```html <div style="position:relative"> <div id="move" style="position:absolute"><font size="5" style="color: blue">動く葵</font></div> </div> <pre class="eval" style="display:none"> (function() { var e = document.getElementById('move'); var sp = 4; var pos = 0; setInterval(move, 100); function move() { pos += sp; e.style.left = pos + 'px'; if (pos % 200 == 0) sp *= (-1); } })(); </pre> ``` preタグの中身がevalされて実行されます。 ということで、アメブロの本文中でJavaScriptを動かすハックでした。ちなみに、フリープラグインにJavaScriptを書けば、ウザイ広告を消したり、Adsenseを自分のものに差し替えたり、ホントにやりたい放題ですね。 はてなダイアリーもサイドバーに対応外のブログパーツを配置できます。 - [はてなダイアリーに(対応外の)ブログパーツを貼る - ぼくはまちちゃん!(Hatena)](http://d.hatena.ne.jp/Hamachiya2/20070814/google_gadgets) Googleガジェットを使う方法ですね。 さっそく、この方法を使って、eval作戦を試してみました。 でも、スクリプトが実行されない。。 はてなダイアリーの方は、id:Hamachiya2とかid:amachangに何とかしてもらいましょう。