ブログパーツで気をつけること(2) JSのバッティング問題

ブログパーツというかjavascriptの話なんですが、適当にやってたらあとで痛い目見るぞ、という内容です。

ブログパーツでExternalInterface使いまくって、なんとかブラウザと相互にやりとりできるものができて、localhostで動作チェックして、サンプルブログで動作チェックして、それからリリースしたんですが…

いざ、自分のブログに貼ってみたら画面真っ白。バグ! しかもブログパーツを貼ったことによるバグ! うわー!! ってなことになります。

一瞬画面が表示されるんですが、あっという間に画面真っ白です。なぜだ。なぜかというと、読み込み中が終わらないからです。なんでだ。画面描画が止まっているからです。なんで? javascriptが、ブログ中の他のjavascriptとバッティングしているからです。

DOMが構築されてないのでは、と思いつき、FirefoxでFirebugを立ち上げようとするも動きません。そりゃそうだ。画面が止まってるんだから。

で、JSの変数名と関数名を見直しました。
function addLayer(){} とか、超ありがち!! しかも変数にも
var url="" とか、var left とか、それ名前空間(?)を超汚してるじゃーん!!っていう初歩的なエラーでした。

そうか、一昔前にはやった、amachangがJSの名前空間を汚さない書き方を提唱していたのはこういうときのためのものなのね。

というわけで、これから自作のjsには僕の名前とかを入れることにします。
function hoge だったら function ryownetHoge とか。

関連エントリ

ブログパーツで気をつけること:クロスドメイン問題