Hatena::ブログ(Diary)

ten-youの日記 RSSフィード

2009-03-25

インクルードしたい

Rダイスのサブファンクション部分はRダイスを振る以外にいぬいへ転用してたりします。

ということは、元のRダイスから該当部分をいぬいへコピペしてるわけで。

ということはサブファンクション部分に間違いがあった場合、いちいちコピペしなおさなければならないわけで。

これは面倒、ということでインクルードする方法を調べてみました。


JavaScriptマニュアル

には、インクルード命令はありませんでしたorz

Ver2.0からは採用されるってどっかでちょろっと見たのですが、現行の1.5にはないみたいです。残念。


ところで、最近no titleのページが片っ端から「(There is currently no text in this page)」と出るのですが(代入演算子みたいなのでも!)、いったい何事でしょう?


.write

検索の結果、JSファイルにJSファイルをインクルードする:ナナイさんメモ:So-netブログというページを見つけました。

何をしてるのかいまいちよく分からないんですが、.writeメソッドというのが、『ドキュメントに文字列を書き出す』メソッドらしいです。

これを利用して、他のファイルのJSスクリプトを呼び出し元に書き出しちゃおう、と、たぶんこれはそういう意味じゃないかと。


しかしこれはダメみたいです。LimeChatではまた別の方法を考えないといけないっぽい。


eval()を使用する方法。

……というところで。

すでにブクマしてますが、海月歩空様が400 Bad RequestにてLimeChat2でインクルードできる方法を公開してくださってました。

し、しかしeval()……これは心理的抵抗が大きい。


実はeval()は別件で使用を考えたことがあります。のでその時ちょっとだけ調べました。

自分のつたない理解だと()内に入れた文字列をJavaScriptの命令として解釈し、実行してくれる命令。のようなのですが。

……てことは悪意ある文字列に弱いって言う気がひしひしと。

こういう関数が用意されてるってことは、何かしらのニーズがあってのことだと思うのですが、どうにもSQLインジェクションと同じにおいを感じて手を出す気になれません。むむう。


ちなみにeval()については

404 Blog Not Found:javascript - eval(insecure.code).safely with(jail); //でもIEがにていろいろデモが公開されてました。……半分どころか10分の1も何してるのか分かりませんが!(泣)