IE 6 및 IE 7에 대해서만 메시지를 표시하는 가장 좋은 방법은 무엇입니까?


11

IE 6 및 IE 7에만 문자 메시지를 표시하는 가장 좋은 방법은 무엇입니까?

웹 페이지에 html 태그를 추가하고 일반적으로 위에서 언급 한 것을 제외한 모든 브라우저의 CSS로 숨겨야합니까?

그리고 IE6 IE7을 사용할 때 CSS로 웹 사이트를 숨기고 해당 HTML 태그 만 표시해야합니까?

감사


IE6 및 7 사용자를 웹 사이트 외부에 두는 것이 목표입니까?
John Conde

@ 존 콘데 예
aneuryzm

IE 6 & 7 바이러스를 찾아 페이지에 넣으십시오. 그들이 감염되면, 그들은 IE를 가지고, 바이러스가 브라우저를 납치하고 사이트를로드 할 때마다 문자 메시지를 보여줍니다 ... 농담입니다! ;)
Itai

답변:


0

이를 수행하는 100 %의 확실한 방법이 없기 때문에 브라우저로 웹 사이트에 대한 액세스를 제한하기가 어렵습니다.

첫 번째 문제는 사용자 에이전트 스푸핑입니다. 브라우저는 원하는 사용자 에이전트로 자신을 식별 할 수 있습니다. 확장과 브라우저의 모든 것 하나 가지고 이 사소한 일을 만든다. IE6 또는 IE7을 가진 사람이 사용자 에이전트 를 IE8 또는 Firefox의 사용자 에이전트변경 하면 웹 사이트에 접속하게됩니다.

기능 감지 를 사용하여 JavaScript를 사용하여 해당 문제를 극복 할 수 있습니다 . 기본적으로 JavaScript를 사용하여 간단한 테스트를 수행합니다. IE6 또는 IE7에 존재하지 않는 기능이 존재하는지 확인합니다. 그렇지 않은 경우, 당신은 그들임을 알고 있습니다. 이것의 문제는 JavaScript를 끄면 쉽게 우회한다는 것입니다.

다중 계층 접근 방식은 이상적으로 Apache 또는 IIS 에서 사용자 에이전트를 사용하여 서버 측에서 스니핑하여 브라우저를 지원하지 않는다는 페이지로 사용자를 리디렉션하는 것입니다. BTW, 그것은 단순히 웹 사이트를 숨기는 것보다 더 정중합니다. JavaScript 기능 감지 방법으로이를 보강했습니다. 둘 사이에서 가장 기술적으로 정통한 사용자를 제외한 모든 사용자를 잡을 수 있으며 IE6 또는 IE7을 사용하지 않을 가능성이 있습니다.


@John Conde 내 질문은 실제로 브라우저를 감지하는 방법이 아니라 브라우저가 감지되면 다른 콘텐츠를 표시하는 방법에 관한 것이
었습니다.

1
브라우저 스니핑을 선택하는 방법에 따라 리디렉션처럼 쉽습니다. Apache를 선택한 경우 .htaccess 파일의 특수 페이지로 리디렉션하십시오. JavaScript를 선택하면 window.location을 사용하십시오. CSS를 사용하여 웹 사이트를 숨기려고 시도해도 여전히 모든 것이 사용자에게 제공됩니다. 그들은 약간의 노력 없이는 그것을 볼 수 없습니다. 이러한 방식으로 컨텐츠에서 완전히 제거 할 수 있습니다.
John Conde

@ 존 콘데 오 네, 맞아요
aneuryzm

5
IE 브라우저를 위해 100 %의 완벽한 방법이 있습니다. 그리고 그것은 조건부 의견입니다. 방법이 없다고 말한 다음 사용자 에이전트와 작동하지 않는 방식에 대해 자세히 설명하는 것은 사용자 에이전트 감지없이 수행 할 수 있기 때문에이 특정 질문에 대한 좋은 답변이 아닙니다.
Evgeny 2011

2
나는 이것이 정답으로 선택되었다고 믿을 수 없다.
Marco Demaio

5

조건부 CSS 주석 작성 또는 JQUERY 브라우저 감지 사용 :

CSS 조건부 주석에 연결

Jquery 브라우저 감지에 연결

이를 사용하여 일반 컨텐츠의 div 숨기기 및 대체 컨텐츠의 div 표시와 같은 스타일을 설정할 수 있습니다. 또는 내용과 표시 방법을 변경하기 위해 JS를 사용하십시오.

IE6 사용자를 위해 모든 것을 제거하고 업데이트하라는 메시지를 표시하려면 CSS를 설정하여 본문 내부의 모든 것을 숨기고 jquery 감지와 함께 경고 onload를 던질 수 있습니다. 가혹하지만 비열하거나 우회하지 않는 한 대부분의 시간 동안 작동해야합니다. 어떤 경우에는 아마 당신이 목표로하는 사람들이 아닐 것입니다.


+1 조건부 주석은 대부분의 경우 IE 브라우저 만 "이해"하므로 가장 잘 작동합니다.
Evgeny

1
jQuery 브라우저 감지를 사용하여 IE 6/7에 메시지를 표시하는 것은 문을 사용하는 대신 창을 통해 집에 들어가는 것과 같습니다.
Marco Demaio

그 의견은 훌륭하다! 안타깝게도 툴킷에서 선택할 수 있지만 지금은 항상 내 집의 창문으로 올라가는 것으로 상상할 것입니다. 그것을 사랑하십시오!
XOPJ


4

페이지 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를 제외합니다.


0

ie6 / 7에서 "웹 사이트 숨기기"를 원하는 이유는 무엇입니까? 사용자 에이전트 별 메시지 인 경우 조건부 의견에 투표합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.