2011-11-14 4 views
1

나는이 나는 사용자가 사용하는 브라우저의 어떤 버전 감지 사용하고 다음 코드를jQuery를 크롬 프레임 감지

VAR 브라우저 = $의 .browser;

if (browser.msie) { 
     window.location.replace('/ChromeFrame'); 
    } 
    else if (browser.mozilla && browser.version < 4) { 
     window.location.replace('/Upgrade'); 
    } 
    else if (browser.opera && browser.version < 11.5) { 
     window.location.replace('/Upgrade'); 
    } 

생각은 IE를 사용하는 경우 다음 그들은 크롬 프레임을 설치해야하고이 방법은 내가 뭐하는 거지이라면 그들이 자신의 브라우저 (모르겠 음을 업그레이드해야합니다 파이어 폭스 4, 오페라 11.5보다 덜 사용하는 경우이다 맞습니까?)

하지만 그들은 IE를 사용하는 경우 나는 그들이 크롬 프레임이있는 경우 그래서에서 IE 사용자를하도록 할 수 있습니다.

사람이 도와 줄 수

감지 할 필요가 확인 외에

? 당신이 jQuery를 당신이 jQuery.browserjQuery.browser.version 속성을 사용할 수 있습니다 사용하는 경우 (browser.msie && !navigator.userAgent.contains('chromeframe'))

+0

진지하게, 이것을하지 마십시오. 대신 [기능 검색] (http://msdn.microsoft.com/library/hh273397(v=vs.85)asp)을 사용하십시오. – kinokijuf

답변

0

: 감사

내가 좋아하는 일을하고 생각했습니다.

chrome.management.get을 사용해도됩니다. :)

+0

나는 나의 OP에서 보여지는 것처럼 양쪽 모두를 사용하고있다. 그런데 어떻게 Chrome 프레임을 감지합니까? – Cameron

+0

대답을 편집했습니다 –

+0

jquery 브라우저에서 어떻게 관리를 사용합니까? 감사합니다 – Cameron

9

는이 같은 window.externalHost를 찾아 크롬 프레임을 감지 할 수 있습니다 :

if(window.externalHost){ 
    alert("I'm running in Chrome Frame") 
} 

출처 : Chrome Frame: Developer Guide‎

0

당신은 ChromeFrame 스크립트를 보면 : 이 http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js

그들의 CF 감지 같다 이 :

var b = navigator.userAgent, 
    c = /MSIE (\S+); Windows NT/, 
    g = false; 
if (c.test(b)) { 
    if (parseFloat(c.exec(b)[1]) < 6 && b.indexOf("SV1") < 0) g = true 
} else g = true; 
if (!g) { 
    alert('Chrome Frame Not Installed') 
} 
관련 문제