いや、結局はIE死ねって話ね。
今日、YahooオークションのデータをいじるJavascript書いていたんだけど、Firefoxでの動作確認が終わってさあ、IE行くぜーってやったら、全然行かなくて。
そもそも、動かない。
そして、エラーすら出さない。
何このブラウザ?
マジギレしてconsole.logとかalertとか入れたけど全然動かない。
そこで、Operaの登場。
で、チェックしたらOperaも動かない。エラーコンソールをチェック。
上記のコードでエラーが出ていた。分かる人は即効で分かる。
そう、末尾のnewだ。
アホIEはnewという要素を関数と勘違いしているのだ。
#そもそも、responseにnewとか(複数言語の)予約語を含めるとか、ありえないでしょう!
#それ以前に、JSONでXMLのデータをごりごりいじろうとしている自分もどーかと思うが。
まあ、Yahooの結果を何も考えずにJSONにコンバートしてるという変態的な処理をかましてるせいで、こーゆーエラーが出ちゃっている訳なんですがねぇ。
なので、一旦、以下のように直した。
だがしかし、これでも動かない。
IE死ねってTwitterにPOSTしまくった。
結局
でようやく動いた。もしJavascript使っていてIEでエラーが出なかった場合、Operaを一回通すとエラー箇所が見えるかもしれない。
今日、YahooオークションのデータをいじるJavascript書いていたんだけど、Firefoxでの動作確認が終わってさあ、IE行くぜーってやったら、全然行かなくて。
そもそも、動かない。
そして、エラーすら出さない。
何このブラウザ?
マジギレしてconsole.logとかalertとか入れたけど全然動かない。
そこで、Operaの登場。
で、チェックしたらOperaも動かない。エラーコンソールをチェック。
var hoge = item.option[0].new;
上記のコードでエラーが出ていた。分かる人は即効で分かる。
そう、末尾のnewだ。
アホIEはnewという要素を関数と勘違いしているのだ。
#そもそも、responseにnewとか(複数言語の)予約語を含めるとか、ありえないでしょう!
#それ以前に、JSONでXMLのデータをごりごりいじろうとしている自分もどーかと思うが。
まあ、Yahooの結果を何も考えずにJSONにコンバートしてるという変態的な処理をかましてるせいで、こーゆーエラーが出ちゃっている訳なんですがねぇ。
なので、一旦、以下のように直した。
var hoge = item.option[0]['new'];
だがしかし、これでも動かない。
IE死ねってTwitterにPOSTしまくった。
結局
var hoge = item.optiopn[0]["new"];
でようやく動いた。もしJavascript使っていてIEでエラーが出なかった場合、Operaを一回通すとエラー箇所が見えるかもしれない。
コメント
コメントを投稿