今回は、jQueryのコンフリクトでトラブルがありました。
忘れないうちに書き記しておきます。

jQueryは、非常によく使われるJavaScriptのライブラリです。
ゼロから作っていない環境で作業をすると、すでに入っていることがあります。

そういう場合に、あまりに古いバージョンが入っていると、今まで使っていたプラグインが使えなくなるので、別のバージョンを認識させる必要が出てきます。

アメーバブログのカスタマイズで起きたこと

アメーバブログのカスタマイズで、ある機能をプラグインで行いました。
しかし、うんともすんとも動かない。

ブラウザのコンソール画面(下記はFireFoxのアドオンFireBug)から

と記述すると、“1.3.2”と表示されました。

jquery-conflict-ameba01

“1.3.2”では厳しいので、もう少し新しいバージョンにすることにしました。
しかし、何度確認しても”1.3.2″のままです。
ソースを見ると、

にjQuery1.3.2が書かれているのですが、かなり下の方にソースがあります。
アメーバブログで自由にscriptが書ける場所は決まっているので、上書きすることができません。

jQueryには、こういう場合に対応できるように、noConflictという機能があります。
jQuery関数が使える「$」が1.3.2に奪われているので、「$」の持っている機能を別の文字に変えれば良いのです。

これで大丈夫、かと思ったら「jquery.easing.1.3.js」でエラーが起きました。

jquery-conflict-ameba02

jQueryが競合しているとエラーが出るようです。
jquery.easing.1.3.jsを書き換えて、

としました。

他のプラグインでも、古いバージョンだったり、コンフリクトで動かないものは、上記のように囲うと良いでしょう。

まとめ

アメーバブログのjQueryはバージョンが古いから気を付けよう!

では、そんな感じで、またねー。