2011-08-06 4 views
0

좋아요. 인터넷   탐색기   9 및 Safari, Chrome 및 Mozilla Firefox 용으로 설정된 웹 사이트가 있습니다. 그러나 인터넷에 연결된 컴퓨터에서 내 웹 사이트를로드 할 때   익스플로러   7이 조건부 div을 표시하지만 여전히 아래 내용을로드합니다. 콘텐츠를로드하는 것을 중지 할 수있는 방법이 있습니까?조건부 CSS는 콘텐츠로드를 중지합니다.

가 여기 내 소스입니다 :

<!--[if lte IE 8]> 
<div style=' clear: both; text-align:center; position: relative;'> 
    <a href="http://windows.microsoft.com/en-US/internet-explorer/downloads/ie-9/worldwide-languages"><img src="/protected-wp-content/images/internet-explorer-9-update.png" border="0" alt="" /></a> 
    </div> 
<![endif]--> 

<!--[if IE 9]> 
<script type="text/javascript" src="js/html5.js"></script> 
<link rel="stylesheet" href="css/ie.css" type="text/css" media="screen"> 
<![endif]--> 
+0

'lte IE 8'은 "IE 8 이하"를 의미하므로 설계된 것처럼 작동합니다. 문제가 무엇인지 명확히 할 수 있습니까? –

+0

예 업데이트 상자가 표시됩니다. 하지만 어쨌든이 문장 아래에 다른 브라우저에 대해서만 표시 html 콘텐츠를 표시 중지하려면 궁금하네요. 더 전문적으로 보일 것입니다. –

+0

아, 잠시 후 아래 코드가 내 브라우저에 표시되지 않았습니다. IE 9 컨텐트가 IE 7에서 볼 수 있다고 말하는가? –

답변

0

그래서,이 나타납니다 당신이 IE를 원하는 8, 그리고 사용자가 업데이트 링크를 볼 수 밖에?!?! 좋은 생각인지 떨어져 떠나

, 그 방법은 다음과 같습니다

<!--[if lte IE 8]> 
    <div style=" clear: both; text-align:center; position: relative;"> 
     <a href="http://windows.microsoft.com/en-US/internet-explorer/downloads/ie-9/worldwide-languages"> 
      <img src="/protected-wp-content/images/internet-explorer-9-update.png" border="0" alt="" /> 
     </a> 
    </div> 

    <script type="text/javascript"> 
     document.execCommand("Stop", true, null); 
    </script> 
<![endif]--> 

execCommand("Stop") IE에서 페이지로드를 중단합니다. (다른 브라우저에서는 일관되게 작동하지 않지만 여기서는 문제가 아닙니다.)

+0

감사합니다.이게 내가 찾고 있었던 것입니다! 왜 관심이 없습니까? 좋은 생각이 아닌 이유는 무엇입니까? –

+0

불필요한 고객/고객의 덩어리를 물리 치기 때문에 좋은 생각이 아닙니다. 예를 들어, 내 사이트에서 IE <9 명 평균 20 %. 대부분의 사업은 잠재적 인 고객의 20 %를 임의로 돌릴 수 없습니다! ... 일반 사이트를 제공하는 것이 훨씬 좋습니다 (IE 사용자는 덜 공상적인 사이트를 알지 못합니다.) 그들은 IE를 차단하는 것에 대해 호전적인 사이트를 알게됩니다. 그들 중 일부는 그것을 보복하는 임무로 만들 수 있습니다.) –

+0

글쎄, 나는 그들을 업데이트 할 것을 요구하고 있습니다! 내 css는 크롬과 모질라를 중심으로 설계 되었기 때문에 고객 중 79 %는 브라우저를 사용하고 다른 사람들은 도움을 주셔서 감사합니다. –

0

당신은 자바 스크립트를 사용하여

<!--[if gte IE 9]> 
    Stuff only Internet Explorer 9 should see.. 
<![endif]--> 

에 다음과 같은 내용을 둘러싸 수, 당신은 아래 그 부하 사업부를 숨길 수 있습니다. 물론, 이것은 휴식과 인터넷   탐색기   (10)가 나올 때 수정이 필요합니다 : 당신의 점을 허용하는 경우

<div id='divContainingIE9Content'></div> 
<script type='text/javascript'> 
    if (navigator.userAgent.indexOf("MSIE 9") > 0) { 
     document.getElementById("divContainingIE9Content").style.display = 'none'; 
    } 
</script> 
+0

난 모르겠지만 오히려 모든 조건부를 가지지는 않을 것입니다. –

+0

@David Passmore 당신은 CSS 속성'display : none; '을 설정하기 위해 javascript로 할 수 있습니다. 위 참조. –

+0

당신은 그것이 8 미만의 IE에 표시하지 말고 싶다. 그것은 조건부라는 ** 정의 **입니다 ... –

0

"-"페이지 본문 내에서, 당신은

로 묶 수
<!--[if lte IE 8]><div style="display:none"><[endif]--> 
... 
<!--[if lte IE 8]></div><[endif]--> 

(그러나 (야생에서 사람들의 상당한 수있다?) 그들은 모두에서 CSS를하지 않도록 오래된 IE 버전에 대해 작동하지 않을 것은)

+0

HTML 주석을 시작하고 아래에서 닫는 것은 어떻습니까? (CSS를 지원하지 않는 브라우저를 다루기 위해) - ERR조차 IE 5는 CSS를 지원합니다. – hakre

+0

IE 조건은 HTML 주석을 인식하지만, 인식하지 못하는 브라우저는이를 인식합니다. –