Home > geo > Google Maps APIはObject汚染を許さない!

Google Maps APIはObject汚染を許さない!

  • Posted by: maeda
  • 2006年11月11日 16:44
  • geo

Google Maps APIのあるバージョンから、Markerを追加するときにエラー「Bd(a, b, true).push is not a function」が発生するようになってしまいました。いろいろ試してみた結果、Object.prototypeに独自関数を追加している場合に発生することがわかりました。→再現ページ

いわゆる、Object汚染というやつです。
以前はPrototype.jsのオブジェクト汚染(現バージョンでは解決済み)がよく話題になっていましたが、jsonricoがいまだに、この問題を抱えています。
というわけで、上記2つのライブラリとGoogle Maps APIを同時に使用している場合は注意が必要です。

バージョン指定をしないでGoogle Maps APIを使っていると、今回のようなケースでいつの間にかアプリケーションが動かなくなってしまうことがあります。

組み込みのオブジェクトを勝手に拡張しているライブラリの方が悪いのだとは思いますが...

※追記1
この問題はFirefox2.0で発生します。
IE7では発生しないようです。

※追記2
v2.64以降で発生するようです。→Bd(a, b, true).push is not a function

Comments:0

Comment Form

Trackbacks:1

TrackBack URL for this entry
http://convivial-web.com/mt/mt-tb.cgi/21
Listed below are links to weblogs that reference
Google Maps APIはObject汚染を許さない! from convivial-weblog
Bd(a, b, true).push is not a function from Nix::WebLab 2006-11-24 (金) 00:22
Bd(a, b, true).push is not a function さて...

Home > geo > Google Maps APIはObject汚染を許さない!

Profile
other

あわせて読みたいブログパーツ
Feeds
track feed convivial-weblog

Return to page top