이것은 이상한 IE 버릇입니다. 다음 단계는 다음과 같습니다IE에서 boolean true가 toJSON 메서드를 사용하는 이유는 무엇입니까?
- 인터넷 익스플로러 8
- 에 msn.com로 이동이 개발 도구는
- 스위치 브라우저 모드 당겨에 "IE8 (호환)보기"
- 스위치 문서 모드로 "IE7 표준" 을
true.toJSON()
은 true
을 반환합니다. 다른 어떤 브라우저도 이것을하지 않습니다. 어떤 점에서 부울 값 true
을 $.isEmptyObject()
으로 전달하기 때문에 jQueryUI의 툴팁 위젯이 IE에서 실패하게 만들기 때문에 문제가 발생합니다. 일반적으로 true
을 전달하면 true
이 반환되지만 true
에는 연결된 메소드 (toJSON
)가 있기 때문에 false
을 반환하고 위젯을 위반합니다.
같은 테스트를 시도 할 수있는 사이트 (예 : Google)가 있고 true.toJSON()
이 아무것도 반환하지 않고 중단된다는 사실을 발견했습니다. 이 이상한 toJSON
방법은 무엇이며 어떻게 제거합니까?
정말 IE7을 지원해야합니까? 어쩌면 당신은'true.toJSON'을 삭제할 수 있습니다. 'true'는 부울 객체입니다 –
아마도이 객체는'delete Boolean.prototype.toJSON'이어야합니다 -하지만 그건 정말 나쁜 생각 같습니다. – Hamish
이것은 [msn.com] (http://www.msn.com/)과 관련이있는 것으로 보입니다. 다른 사이트를 사용해보십시오. 대부분 사이트가 없으니 찾으십시오. 이 MSN은 ['Boolean.prototype'] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Boolean/prototype)을 확장하여 메서드 자체를 정의했습니다. –