IE 6 및 IE 7에만 문자 메시지를 표시하는 가장 좋은 방법은 무엇입니까?
웹 페이지에 html 태그를 추가하고 일반적으로 위에서 언급 한 것을 제외한 모든 브라우저의 CSS로 숨겨야합니까?
그리고 IE6 IE7을 사용할 때 CSS로 웹 사이트를 숨기고 해당 HTML 태그 만 표시해야합니까?
감사
IE 6 및 IE 7에만 문자 메시지를 표시하는 가장 좋은 방법은 무엇입니까?
웹 페이지에 html 태그를 추가하고 일반적으로 위에서 언급 한 것을 제외한 모든 브라우저의 CSS로 숨겨야합니까?
그리고 IE6 IE7을 사용할 때 CSS로 웹 사이트를 숨기고 해당 HTML 태그 만 표시해야합니까?
감사
답변:
이를 수행하는 100 %의 확실한 방법이 없기 때문에 브라우저로 웹 사이트에 대한 액세스를 제한하기가 어렵습니다.
첫 번째 문제는 사용자 에이전트 스푸핑입니다. 브라우저는 원하는 사용자 에이전트로 자신을 식별 할 수 있습니다. 확장과 브라우저의 모든 것 하나 가지고 이 사소한 일을 만든다. IE6 또는 IE7을 가진 사람이 사용자 에이전트 를 IE8 또는 Firefox의 사용자 에이전트 로 변경 하면 웹 사이트에 접속하게됩니다.
기능 감지 를 사용하여 JavaScript를 사용하여 해당 문제를 극복 할 수 있습니다 . 기본적으로 JavaScript를 사용하여 간단한 테스트를 수행합니다. IE6 또는 IE7에 존재하지 않는 기능이 존재하는지 확인합니다. 그렇지 않은 경우, 당신은 그들임을 알고 있습니다. 이것의 문제는 JavaScript를 끄면 쉽게 우회한다는 것입니다.
다중 계층 접근 방식은 이상적으로 Apache 또는 IIS 에서 사용자 에이전트를 사용하여 서버 측에서 스니핑하여 브라우저를 지원하지 않는다는 페이지로 사용자를 리디렉션하는 것입니다. BTW, 그것은 단순히 웹 사이트를 숨기는 것보다 더 정중합니다. JavaScript 기능 감지 방법으로이를 보강했습니다. 둘 사이에서 가장 기술적으로 정통한 사용자를 제외한 모든 사용자를 잡을 수 있으며 IE6 또는 IE7을 사용하지 않을 가능성이 있습니다.
조건부 CSS 주석 작성 또는 JQUERY 브라우저 감지 사용 :
이를 사용하여 일반 컨텐츠의 div 숨기기 및 대체 컨텐츠의 div 표시와 같은 스타일을 설정할 수 있습니다. 또는 내용과 표시 방법을 변경하기 위해 JS를 사용하십시오.
IE6 사용자를 위해 모든 것을 제거하고 업데이트하라는 메시지를 표시하려면 CSS를 설정하여 본문 내부의 모든 것을 숨기고 jquery 감지와 함께 경고 onload를 던질 수 있습니다. 가혹하지만 비열하거나 우회하지 않는 한 대부분의 시간 동안 작동해야합니다. 어떤 경우에는 아마 당신이 목표로하는 사람들이 아닐 것입니다.
페이지 HTML 소스에 이러한 유형의 HTML 조건부 주석 추가
<!--[if IE 6]>
<h1>Hello, u r using IE6, your message here</h1>
<![endif]-->
<!--[if IE 7]>
<h1>Hello, u r using IE7, your message here</h1>
<![endif]-->
<!--[if lt IE 8]>
<h1>Hello you are using a version of IE less than IE8, your message here</h1>
<![endif]-->
위의 모든 것은 IE를 제외한 모든 브라우저에서 일반적인 HTML 주석처럼 건너 뛰고 그에 따라 구문 분석하는 IE를 제외합니다.
다른 콘텐츠를 표시하는 이유는 IE7 이하와 호환되지 않는 HTML5를 사용하는 이유입니까?