2012-08-02 6 views
2

여기 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 경계를 제공하지 않습니다. 자바 스크립트 경고가 발생하지 않습니다.

+0

이 발생하는 사이트에 대한 라이브 URL이 있습니까? –

+0

IIS Express에서 실행되는 로컬 개발 환경에 있습니다. – brentonstrine

답변

4

RadControls 내가 그들의 문서 (http://www.telerik.com/help/aspnet-ajax/ajax-conditional-comments.html)에서 말할 수까지 ... 때 헤더 만 조건부 스타일 시트를 잡아입니다, 그것은 말한다 : "불행하게도 우리는 그 확인 할 수있는 가능한 방법을 발견하지 않았습니다 [조건부 스타일 시트 참조] 우리는이 문제를 쉽게 고칠 수 없습니다. "그래서 몇 가지 해결 방법을 제공했습니다. 조건부 주석을 본문에 배치하는 옵션이 1 개있었습니다. 그래서 귀하의 질문에 대답하기 위해 개발자는 이것이 버그이며 잘하면 곧 해결할 것입니다 알고 ...

+1

와우 그거. 이것이 내가 오픈 소스 자료를 좋아하는 이유입니다. 당신은 그것을 얻지 못할 것입니다. '예, 그것은 버그입니다. 우리가 언제 고칠 지 모르겠습니다.' – jcollum

1

IE 탭 크롬 확장 프로그램을 사용하고 있지는 않지만 명백한 문제는 제외하기로 했습니까? https://chrome.google.com/webstore/detail/hehijbfgiekmjfkfjpbkbammjbdenadd

+0

오, 'Doh!' 당신이 맞다면 들으실 겁니다. – jcollum

+0

하하, 잘 부탁드립니다. 나는 그것을 사용하지 않을거야. – brentonstrine

+1

RadControls를 사용하는 경우 다음을 참조하십시오. http://www.telerik.com/help/aspnet-ajax/ajax-conditional-comments.html 조건부 스타일 시트를 본문으로 이동하는 것처럼 보입니다. 문제를 해결합니다 ... – ews2001

1

나는 이것을 HeadJS 또는 조건부 스타일 시트 대신 다른 js 라이브러리를 사용하여 공격 할 것입니다. 브라우저 탐지 기능을 갖춘 매우 멋진 라이브러리입니다. 다른 것들도 있습니다.

/ older than IE9/
.lt-ie9 .box { padding: 10px; } 

/CSS fixes for IE6/
.ie6 ul { list-style: none; }