Internet Explorer 8でチェックしてたら、window.hasOwnProperty()のところでエラーが発生。あれ?
自分の無知が恥ずかしい。。。
MSDNドキュメントをチェックしてみると、なんかドキュメントがええかげん。.hasOwnPropertyの説明では確かにIE8はサポートされない、と書いてあるんだけど・・・javascriptのバージョン情報のところを見ると、hasOwnPropertyは’Y’になっとる。
- http://msdn.microsoft.com/ja-jp/library/ie/s4esdbwz(v=vs.94).aspx#mt142
- http://msdn.microsoft.com/ja-jp/library/ie/328kyd6z(v=vs.94).aspx
だけど、Object.hasOwnProperty はエラーは起こらず。どゆこと?
結局、IE8の時だけ、下記のようにする。
// これってもしかして、常識なの???(^^;;; var undefined; if(window.hasOwnProperty === undefined) { window.hasOwnProperty = function(property_name) { return Object.prototype.hasOwnProperty.call(window,property_name); }; }
なんか、釈然としない。はやくIE8消えてくれ。つか、会社のPC、いいかげん、XPから7にバージョンアップさせてほしい・・・自分で金出すから。