Ktouth Brand. on Web

け〜くんこと K.Ktouth のだらだらした日常と突発的に作るプログラムや読み物とかの雑多サイト



[2007年03月26日]

Rico.jsとExtUIの競合

2007年03月27日 08:20更新 筆者:K.Ktouth

先日、AJAXライブラリが競合するという話を書きましたが、色々追試した結果、rico.jsもExtUIとも競合してました。
具体的には……

  • rico.jsを読み込むと、ExtUIのExt.DatePickerコンポーネントの表示が途中でエラーになる
  • Ajax.Requestで例外が発生する(原因不明)

……です。
下の方は本当にrico.jsの成果は定かではありませんが、うえの方はscriptタグのコメントアウトだけであっさり直るので間違いありません。

でも、ブロックの角丸化機能はExtUIにはなく、手軽さの点でもrico.jsは有利な上、いずれrailsで実装する際には必ず利用する必要があります(標準で同梱され、多数のヘルパーがそれの利用を前提にしている)。

どーにかならないかなー、と調査していたら。

rico.js 1.1.2 がObject.prototype.extendを定義してやがるんですよ。
prototype.js 1.4.0以上は廃止しているのに、prototype.js 1.3.1をベースに作ってあるみたいで、Object.prototype.extendが定義されてなかったらrico.jsが定義しちゃうんです。

まさしくこれ、という情報を発見しました。
実際にrico.jsの先頭にあるObject.extend定義をコメントアウトすると……あら不思議。上記バグが無くなりました。
もちろん、rico.jsが内部で利用するから定義しているわけであって、そのあたりの調査・修正は必要ですが……コメントアウトだけでRico.Cornerは普通に動作しているようなので、おそらく大丈夫のような気がします。

rails環境に移ったら、しっかりコメントアウトすることを忘れないようにしようにこそれ

本日のリンク元
アンテナ
その他のリンク元
検索