2012-10-24 3 views
1

지원되지 않는 브라우저에서 생성 된 javascript 코드를 실행하려고하면 어떻게됩니까? IE6처럼?dart2js 컴파일 된 코드가 지원되지 않는 브라우저에서 실행 중입니다.

내 사용자가 부분적으로 작동하지 않는 깨진 앱을 볼 수있는 상황에 놓치고 싶지 않습니다. 브라우저가 지원되는 경우에만 다트/자바 스크립트가 실행되도록하고 내 앱이 일부 html 배너로 정상적으로 저하되도록하는 방법이 있습니까? 그렇지 않은 경우 "최신 브라우저 사용"을 선택하십시오.

답변

2

현재 브라우저 검출기 스크립트를 사용할 수 있습니다 http://www.quirksmode.org/js/detect.html

내 머리의 상단에서이 코드를 작성을 지금 당장 내 처분에 테스트 기계를 가지고하지 않습니다

var isNewFirefox = BrowserDetect.browser === 'Firefox' && BrowserDetect.version >= 7; 
var isNewChrome = BrowserDetect.browser === 'Chrome'; 
var isNewIE  = BrowserDetect.browser === 'Explorer' && BrowserDetect.version >= 9; 
var isNewSafari = BrowserDetect.browser === 'Safari' && BrowserDetect.version >= 5.1; 
var isNewOpera = BrowserDetect.browser === 'Opera' && BrowserDetect.version >= 12; 

if (isNewFirefox || isNewChrome || isNewIE || isNewSafari || isNewOpera) { 
    var script = document.createElement('script'); 

    if (navigator.webkitStartDart || navigator.startDart || navigator.mozStartDart || navigator.oStartDart || navigator.msStartDart) { 
     // Load Dart code! 
     script.setAttribute('type', 'application/dart'); 
     script.setAttribute('src', 'http://.../foo.dart'); 
    } else { 
     // Load dart2js code! 
     script.setAttribute('src', 'http://.../foo.js'); 
    } 

    document.body.appendChild(script); 
} else { 
    alert('Application wont work'); 
} 

http://www.dartlang.org/support/faq.html#what-browsers-supported

다트 VM 감지 : http://www.dartlang.org/dartium/#detect

2

브라우저는 항상 순수 자바 스크립트로 인식 할 수 있으며 브라우저 유효성을 확인할 때까지는 다트 프로그램을 실행하지 마십시오.

+0

먼저 체크를하고 의미 버전 정보에서 확인하실 수 있습니다 그리고 나서 모두 통과하면 컴파일 된 다트로 document.write() 스크립트 태그를? – user7610

+1

@ user7610 또는 파일 상단에 브라우저 확인을 추가하여 다트 파일로 생성 된 내용 만 수정하십시오. – tomaszkubacki

관련 문제