IE7のevalScripts : mootools
AjaxのPOSTでevalScriptsをtrueにして返ってくるJavascriptそのもののレスポンスが、IE7だと何度やってもエラーが出てしまう。Javascriptそのまま(関数生成しないもの)を実行できないとかってのは知っていたが、やはり何をやってもだめだ。Firefoxは、優等生。何をやってもOKでした。(何をやってもって変ですが)
で、同じ行で何度もエラーが出るのでcompされていないmootoolsで再度読み直してエラー行を見てみた。そうしたら、何となくこんな事をやっているようだ。
headerを見てJavascript(jsファイル)でなかったら、<script>タグ内を読んでまとめて実行する。headerを見てJavascriptだったらそのまま読み込んで同じように事を行う。
結局、headerを吐いて生Javascriptで解決した。ん?でもここまで書いていてもう一度確認してみたくなった。読み込むところが変?
・・・と、こんなものがあったらなとふと思った。CustomHeadTag Pluginを公開していますが、それをもう少し便利にしたもの。現在は、Joomla!1.0.xも1.5も(1.5は1.0.xより少し進化して同じsrc属性のものは複数吐かないようになっているが。)都度、後から付け加えたHeadtagをそれぞれそのまま追加してHeadタグ内に追加してくれるが、それをJavascriptなら同じscriptタグ内に、CSSなら同じstyleタグ内にまとめて出力してくれる機能と、よく使うものの内window.onloadをそれぞれのライブラリにまとめて出力してくれる機能。例えば、mootoolosなら
window.addEvent('domready',function(){ここにまとめる});
などと吐く。
Joomla!の今の状態なら、都度window.addEvent(mootoolsの場合)から始めなきゃならない。その分(わずかかもしれないが)余分なので汚い。有効にしているExtensionが多ければ多いほど余分なものが増えて果てはコンフリクトしちゃったりする。HTMLソースを表示してページ内のそこかしこにscriptタグが散乱しているのを見ると汚くて。そんなことは、robotにしてみりゃどうって事無いことかもしれないが、気になってしまいます。(すでにこのサイトも汚い。)
そんなカスタムでさらにカスタムなCustomHeadTagがあれば開発者でなくともJavascriptを吐くソースのところで少し変更すれば可能になるので便利かもしれない。 ・・・どう?





































