これは奇妙なIEの癖です。手順は次のとおりです。
- InternetExplorer8でmsn.comにアクセスします
- 開発ツールをプルアップ
- ブラウザモードを「IE8CompatView」に切り替えます
- ドキュメントモードを「IE7標準」に切り替えます
- [スクリプト]タブに切り替えます
- 次のスクリプトを実行します。
true.toJSON()
を返しますtrue
。他のブラウザはこれを行いません。true
ある時点でブール値のをに渡すため、jQueryUIのツールチップウィジェットがIEで失敗するため、問題が発生し$.isEmptyObject()
ます。通常、渡すとtrue
戻るだけですtrue
がtrue
、メソッドが関連付けられているため(toJSON
)、ウィジェットを返しfalse
たり壊したりします。
同じテストを試してtrue.toJSON()
何も返さずに壊れてしまうサイト(Googleなど)があることに気づきました。この奇妙なtoJSON
方法とは何ですか?どうすればそれを取り除くことができますか?