여기 IE9 이하에만 IE 해킹을 제공하는 표준 조건문입니다. 초기로드시 작동합니다..NET 포스트 백은 다른 브라우저에서 IE 조건부 설명을로드하게합니다.
<!--[if lt IE 9]>
<link href="Styles/IE.css" rel="stylesheet" type="text/css" />
<![endif]-->
포스트 백이있을 때 갑자기 Chrome 21.0.1180.60m이로드됩니다. 무슨 일 이니?
는 업데이트 :
나는이뿐만 아니라 파이어 폭스와 오페라에서 일어나는 것을 확인했다. 어떻게 든 .NET이 CSS에 대한 소스를 긁어 내면 조건부 주석을 고려하지 않고 포함하는 것을 궁금해하며 poststate에 CSS 파일을 포함하고 있습니다. 그것은 심지어 의미가 있습니까? 그 밖의 무엇이 여기에서 일어날 수 있 었는가?
업데이트 2 :
이 이상해. 조건부 주석은 헤더에있는 경우에만 plaintext, html 또는 javascript가 아닌 CSS를로드합니다. Firefox, Opera 및 IE는 조건에 맞는 여러 개의 댓글을로드하지만 Chrome은 첫 번째 페이지 만로드합니다. 따라서 :
<!--[if lt IE 9]>
<link href="Styles/IE.css" rel="stylesheet" type="text/css" />
<![endif]-->
<!--[if IE 7]>
<style>#test{border:dashed 1px red;</style>
<script>alert("seven");</script>
<![endif]-->
<!--[if IE 8]>
<style>#test{border:dashed 1px blue;</style>
<script>alert("eight");</script>
<![endif]-->
<!--[if IE 9]>
<style>#test{border:dashed 1px green;</style>
<script>alert("nine");</script>
<![endif]-->
는 포스트 백에 모든 브라우저에서 IE.css
을로드하고, IE, 오페라와 파이어 폭스는 #test
에 녹색 테두리의 결과로, IE 7, 8, 9의 CSS를로드합니다. Chrome은 #test
경계를 제공하지 않습니다. 자바 스크립트 경고가 발생하지 않습니다.
이 발생하는 사이트에 대한 라이브 URL이 있습니까? –
IIS Express에서 실행되는 로컬 개발 환경에 있습니다. – brentonstrine