안녕하세요. 이번 달 초 IE9 출시 이후 시스템에서 수리를하고 있습니다. 그냥 다른 사람이 조건부 주석과 IE9에서 동일한 문제를 경험했는지, 내 문제에 대한 더 좋은 해결 방법이 있는지 알고 싶었습니다.Javascript에 대한 IE9 파기 조건부 코멘트?
조건부 주석은 IE 브라우저의 해결 방법으로 일관되게 작동하는 것으로 잘 알려져 있습니다. IE9가 이것을 깨뜨리는 것 같습니다. IE9 특정 스크립트 (특히 document.createElement (">"입력 이름 = "")를 IE9에서 파기했지만 다른 문제가 있음)를 테스트하고 있었고 Internet Explorer 6의 해결 방법을 만들어야했습니다. & 7. 나는 이것을했다 :
<!--[if IE 6]>
<script type="text/javascript">
var ie6 = true;
</script>
<![endif]-->
<!--[if IE 7]>
<script type="text/javascript">
var ie7 = true;
</script>
<![endif]-->
ie6과 ie7 모두 참이다. WTF.
제 해결 방법은 논리를 역순으로 아래의 조건부 주석으로 변경하고 if (! ie9plus)를 수행하는 것입니다.
<!--[if gte IE 9]>
<script type="text/javascript">
var ie9plus = true;
</script>
<![endif]-->
더 좋은 해결책이 있습니까? IE 디버깅 팀에서 웹 디버깅의 중요한 측면을 깨뜨린 것에 대해 고함을 지르고 비명을 지르는 것이 좋을까요?
편집 : 추가 테스트시 인코딩 문제 인 것 같습니다. 어떻게 든 파일이 잘못 인코딩되었고 조건부 주석이 깨졌습니다. IE9에 대한 주석을 변경했을 때도 파일 인코딩을 수정했습니다. IE9는 실제로 조건부 주석을 올바르게 지원합니다. FUD에 대해 유감스럽게 생각합니다.
찾기를 재현 할 수 없습니다. IE9에서는 ie6과 ie7이 모두 정의되지 않았습니다. 페이지를 호환성보기 모드로 변경하면 ie7이 정의되지만 ie6은 정의되지 않습니다. – EricLaw
IE9 표준 렌더링을 사용하는 IE9 브라우저 모드로 실행 중이 었습니다. doctype은' ' – synthparadox
나는 당신이 그 주제에 대한 가능한 FUD를 아주 잘 정리했다고 생각한다. – Will