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