AjaxのPOSTでevalScriptsをtrueにして返ってくるJavascriptそのもののレスポンスが、IE7だと何度やってもエラーが出てしまう。Javascriptそのまま(関数生成しないもの)を実行できないとかってのは知っていたが、やはり何をやってもだめだ。Firefoxは、優等生。何をやってもOKでした。(何をやってもって変ですが)
で、同じ行で何度もエラーが出るのでcompされていないmootoolsで再度読み直してエラー行を見てみた。そうしたら、何となくこんな事をやっているようだ。
headerを見てJavascript(jsファイル)でなかったら、<script>タグ内を読んでまとめて実行する。headerを見てJavascriptだったらそのまま読み込んで同じように事を行う。
結局、headerを吐いて生Javascriptで解決した。ん?でもここまで書いていてもう一度確認してみたくなった。読み込むところが変?
以前にJavascriptでショッピングカートのようなものを作成したことがあって先日その依頼者が画面を見て悩んでいた。
依頼者:「数が増えると重くて使えない。」・・・それは、私が作った物。
私:「Javascriptにも限界があるのな。」・・・ぉぃ
依頼者:「・・・・。」
すこしソースを眺めていた。動作は、間違っていない。ソースも間違いではない。エラーももちろん出ていない。クッキーを利用しているのでクッキー?、いやそうでない。じゃあ何よって。
私は、陥りやすいのかもしれない。
コードを処理によってパーツ化するのは当然なのですが、そう・・・ループの中で同じ値を参照するのにループ内でそれを見にいっている。それは間違っていますよね。パーツ化していると単純にそれを呼び出せば値が返ってくることがわかっているのでそれを使ってしまう罠でした。それが単純ならわかりやすいのですが、参照先からさらに奥へとつながっていたのでその先で何やってたか把握してなくてそんなことになっていました。
ループの外で参照しよう・・・・。
言い訳太郎でした。
PrototypeとScriptaculousを合体させてなんと54.7KBです。
Prototypeだけでも倍近いのに・・・。サイズがでかいから二の足踏んでいた人でもこれなら!って思いますよね。
Prototypeはだんだんサイズがでかくなってしまったし、さらにビジュアルにと思うとScriptaculous!?一体何KB?
このサイトのExtensionsメニューでAlphaContentというコンポーネントを使用していますが、LightBoxでコンテンツを表示します。そこでももちろんJavascriptを使用しているのでGoogle APIのJavascriptも加わってかなりのサイズを読み込んでいるのではないでしょうか・・・。重い。






























