2013-02-03 4 views
0

Google 크롬 프레임 (GCF)이 설치되어 있고 사용 설정되어 있는지 어떻게 알 수 있습니까? 모든 자바 스크립트 또는 CSS 형식 솔루션을 환영합니다. (다른 프레임 워크 및 다운로드 사용에 대한 엄격한 비 압축 정책)Google 크롬 프레임이 설치 및 사용 설정 되나요?

Microsoft Internet Explorer < v10 (이상)에서 지원하지 않는 HTML 5 기능을 사용하는 웹 사이트를 구축하고 있습니다. GCI가 설치되어 있으면 MSIE 9 또는 이전 버전에 대한 확인 (javascript)이 있지만 나쁘다. GCF가 설치되어 활성화 된 경우 응용 프로그램은 MSIE에서 실행되고 있다는 사실을 염려하지 않고 명랑한 방법으로 실행해야합니다.

저는 인터넷 검색을 해봤지만 navigation.plugins()가 솔루션을 제공 할 수도 있지만 그 다음에는 GCF를 확인하기 위해 자세한 정보가 필요합니다. 그래서 나는 그것을 사용하는 방법을 아직 모른다. 위에서 제안한대로 navigation.plugins()에 대한 대답을 제한하지 않습니다. 나는 그것이 내가 스스로 얻은 것만 큼 진리라고 말하고있다. 따라서이 특정 플러그인을 참조하는 방법을 알고 있다면 가능한 해결책입니다.

+0

[이해 크롬 프레임 사용자 에이전트 (http://www.chromium.org/developers/how-tos/ chrome-frame-getting-started/understanding-chrome-frame-user-agent) –

+0

GCF가 설치된 경우 MSIE9 동작을 원하지 않습니까? GCF가 웹킷 (크롬)으로 렌더링 한 이후 JS 테스트에서 Chrome 내부에서 실행 중이며 IE 내부가 아닌 것으로 돌아가서는 안됩니까? – talkol

+0

예를 들어, 브라우저가 Opera의 Firefox 인 경우 어떤 응답을 얻을 수 있습니까? 문제는 MSIE에만 국한되며 브라우저가 MSIE v9 이하인 경우에만이 테스트를 수행 할 계획입니다. –

답변

0

나중에 테스트를 예약해야하지만 현재 진행중입니다. 질문 아래에 코멘트에있는 Waleed Khan의 답변에 대한 답변이 confirmation 인 것으로 보입니다. 사용자 에이전트는 "chromeframe"이라는 용어가 포함 된 문자열을 반환합니다. 그게 내가 필요한 것을위한 것 같아. 브라우저가 MSIE < 인 지 확인하기 만하면됩니다. 이미 확인해 놨습니다. 빨리해야한다 (나는 짐작한다). 그리고 필요한 모든 기초를 덮는 것처럼 보인다.

2

아마도 브라우저 스니핑보다는 Browser Feature Detection을 사용해야합니다. 이 방법을 사용하면 IE 여부에 관계없이 브라우저가 앱의 필수 기능을 지원하는지 확인할 수 있습니다.

이 기능을 사용하면 이러한 기능을 사용하는 앱의 일부를 숨기거나 해당 사용자를 완전히 차단하는 대신 적절한 대체 기능을 제공 할 수 있습니다 (또는 주장해야 할 수도 있음).

+0

감사합니다. 그렇습니다. 브라우저 기능 감지는 좋은 해결책이었고 내가하고 싶었던 첫 번째 일이었습니다.당신의 제안은 좋으며 다른 사람들에게 옳은 대답 일 수 있습니다. 그것은 내가 필요로하는 것보다 훨씬 더 많은 처리처럼 보입니다. 그리고 나는 빨리 좋아합니다 ... 정말로 빠릅니다. 나는 그 사이트를 사용하는 사람을 차단하지 않는다. MSIE (v <10)의 기능을 차단/숨기고 다른 기능을 사용하거나 GCF를 설치하거나 해당 기능을 사용하지 않고 사이트를 계속 사용하도록 제안하십시오. MSIE (v <10)와 관련이 있으며 기능이 무엇인지 알고 있습니다. 지금 내가 필요로하는 것은 GCF를 확인하는 것입니다. –

+0

어떤 기능인지 알면 사용자 에이전트를 스니핑하지 않고 해당 기능에 대한 지원을 훨씬 더 안정적으로 (그리고 더 쉽게) 감지 할 수 있습니다. 약간의 시작 시간을 추가 할 수는 있지만 실행 후 성능에는 영향을 미치지 않습니다. 정말로, 나는 당신이 방금 당신 자신의 질문에 대답했다고 생각한다; o) – roryf

+0

나는 그것에 관해 확실하지 않다. 나는 그것을 지원하지 않는 브라우저를 알고 그것을 먼저 테스트한다. 다른 브라우저라면 전혀 테스트하지 않습니다. GCF가 활성화되면 사용자 에이전트는 "chromeframe"이라는 용어가 포함 된 문자열을 반환합니다. 꽤 믿을만한 것 같습니다. 다른 한편으로는, 나는 파이어 폭스 2와 같은 것을 상관하지 않는다. 브라우저가있는 사람은 아무 것도 작동하지 않는 데 익숙해야합니다. 세 번째 손에; 지형지 물 탐지는 미래의 지속적인 개발에 훨씬 더 좋을 것입니다 ... 단지 확신하고 고통을 피하기 위해 나는 세부 사항에 대해 확신해야합니다. –

1

GCF가 작동하는지 확인하는 방법은 사용자 에이전트를 보는 것입니다. 'chromeframe'토큰이 표시되면 설치되고 활성화됩니다. 일부 소프트웨어가 크롬 프레임 BHO를 비활성화하면 이제 다음 다음 스크립트가 설치되어있는 경우 말해야한다 :

function IsGCFInstalled() { 

     try { 

     var i = new ActiveXObject('ChromeTab.ChromeFrame'); 
     if (i) { 
      return true; 
     } 
     } catch(e) { 
     log('ChromeFrame not available, error:', e.message); 
     // squelch 
     } 

     return false; 

}