2012-08-10 3 views
1

사용 ...Chrome 프레임에서 조건부 주석을 사용할 수 있습니까?

<!--[if lte IE 8]> <html class="ie8-7-6"> <![endif]--> 
.ie8-7-6 .loginForm {display:none;} /* The login form is hidden. */ 

.ie8-7-6 .yourbrowserisold {display:block;} /* and some nice graphics 
appear to indicate it doesn't support IE6, 7, or 8. */ 

은 그래서 매우 잘 작동하고 나는 크롬 프레임을 다운로드 할 수있는 링크를 제공하고 있습니다.

하지만 지금은 Chrome Frame이 설치되어있는 경우, 저는이 작업을 수행하고 싶습니다.

<!--[if CF]><html class="chrome-frame><![endif]--> 
.chrome-frame .yourbrowserisold {display:none;} 
.chrome-frame .loginForm {display:block;} 

그러나

<!--[if CF]><html class="chrome-frame><![endif]--> 

작동하지 않습니다와 나는 표시 로그인 양식이 필요합니다.

나는 수십 웹 사이트를 봤했고 나는 ...

을하면 답을 찾을 수 없습니다. 조건부에서도 가능합니까?

b. 또는 자바 스크립트에서만 가능합니까?

어떤 도움이 필요합니까?

----- 업데이트 ---------- 다음은 Google 프레임이 설치되어 있는지 여부를 감지하는 스크립트입니다.

$(document).ready(function() { 
    if($.browser.chromeframe != window.externalHost) {alert("You are using chrome frame. You rock!"); } 
else { alert("You are not using chrome frame."); } 
}); 

FYI : 위의 스크립트에 jQuery를 추가하여 Chrome 프레임 사용자를 타겟팅 할 수 있습니다.

----- 데모 : https://dev.clientwhys.com/index-dummy-ie.iml

답변

2

당신이 IE 내부 크롬 프레임에있어 감지 할 수있는 가장 좋은 방법은

var isChromeFrame = !!window.externalHost; 

이 크롬 프레임 내부에서만 사용할 수 있습니다 확인된다. 현재 Chrome 프레임과 같은 조건부 주석과 같은 구성 요소는 없습니다.

http://www.chromium.org/developers/how-tos/chrome-frame-getting-started/understanding-chrome-frame-user-agent에서 더보기.

하지만 Chrome 프레임이 이미 설치되어 있고 chrome=1 플래그를 통해 사용자가 실행 중이면 IE 조건부 댓글의 콘텐츠가 표시되지 않습니다.

+0

감사합니다. IE 개발자 도구의 이중 호환성 모드가 나를 버리고 있다고 생각합니다. 그러나이 대화에 가치있는 것을 추가하려면 Chrome 프레임이 설치되어 있는지 여부를 감지 할 수있는 스크립트가 필요합니다. $ (문서) .ready (함수() { \t는 경우 ($ .browser.chromeframe = window.externalHost) {경고() "당신은 크롬 프레임을 사용하고 있습니다";!} 다른 \t {경고 ("당신은 크롬 프레임을 사용하지 않음)}} \t}); –

관련 문제