アフィリエイト広告を利用しています
最新記事
日別アーカイブ

広告

posted by fanblog

2012年08月03日

ライブラリは便利ですが

よく耳にする javascript ライブラリ、
jQuery
prototype
などなど。

これらは、ブラウザ間の挙動の差異を吸収してくれる上に、
詳しい人が作った高機能な仕組を簡単に実装することができるので、
便利なものです。

反面、いちど不具合を見つけてしまうと、複雑に入組んだソースを解析しなければならないことや
責任所在が無いこと、他ライブラリの競合を考えなければならない、
バージョンを保っておかなければならないなど、
課題も多いです。

よく自分がかかわる仕事では、
サイト共通の機能を実装するための javascript をつくることがあります。
自分のポリシーとして、ライブラリに依存しないようにしています。
他スクリプトへの影響や、ライブラリ競合などを警戒しているので、
それらのライブラリに頼ることができません。
当然、広域変数は使わずに、クロージャーによる実装となります。

ある日、とあるページがおかしいから見てくれと言われて、見てみたところ、
jQuery と prototype が競合していました。
ひとつのページで、$ の取り合いになっていたのです。
しかも jQuery.noConflict も有効に動いていませんでした。

jQuery.noConflict は、jQuery がバインドされる直前の状態に戻す役割がありますが、
下記のようになっていては、prototype に譲ることもできませんでした。

 <script src=prototype></script>
 <script src=jquery.1.4></script>
 <script src=jquery.1.7></script>
 <script>jQuery.noConflict()</script>

複数のデザイナがひとつのページを担当すると、こうなってしまうようです。
ディレクション、ガイドラインを明確化するなど、みなさんも気を付けましょう。


{a8.net http://books.livedoor.com/item/3668772}
【このカテゴリーの最新記事】
posted by FJT at 06:33| javascript
プロフィール
FJTさんの画像
FJT
使えそうな技術情報を掲載しています。 ぜひ、役立ててください。
プロフィール
リンク集
×

この広告は30日以上新しい記事の更新がないブログに表示されております。