IE のネイティブ DOM 要素には hasOwnProperty() メソッドが含まれていないことは十分に文書化されています。これにはいくつかの解決策があります。最も洗練されたものは、次のように、Object.prototype で hasOwnProperty() メソッドに直接アクセスすることです。
Object.prototype.hasOwnProperty.call(element, name);
これはIE9では機能しなくなったようです。誰か説明できますか?これを説明するフィドルを次に示します。
互換モードをオフにして標準モードで IE9 を使用すると、アラートが表示されます。
sessionStorage is supported: false
localStorage is supported: false
ただし、互換モードまたは互換モードをオンにした後 (または開発者ツールを使用して IE8 および IE7 エンジンを使用してページをレンダリングした後) に、アラートが表示されます。
sessionStorage is supported: true
localStorage is supported: true
ここで何か他のことが機能していますか、それとも hasOwnProperty のこの回避策は使用できなくなりましたか?