2012年5月26日土曜日

Uncaught TypeError: Property '' of object [object Window] is not a function の正体

イトウです。

JavaScriptをいじいじしてたらこんなエラーに遭遇しました。
Uncaught TypeError: Property 'message' of object [object Window] is not a function


調べてみると、関数の競合が起こってしまっているのが原因みたいです。
僕の場合だと、messageというプロパティが既にjQueryで定義されているのに、
自作でmessage()関数を作っちゃってました。
なのでプログラム的には、「どっち使えばいいの!?」という状態だったみたいです。

解決策としては、
var $j = jQuery.noConflict();

のように記述して、明示的にコンフリクション(衝突)を避けてやれば良いみたい。
jQueryとPrototype.jsなど、ビッグなライブラリを同時に使う場合は注意が必要ですね。

ここらへんを参考にしました。

0 件のコメント:

コメントを投稿