1

サポートされていないブラウザで生成されたjavascriptコードを実行しようとするとどうなりますか?IE6のように?

部分的に動作している壊れたアプリがユーザーに表示されるような状況に陥りたくありません。ブラウザがサポートされている場合にのみdart/javascriptが実行され、サポートされていない場合はアプリがHTMLバナー「新しいブラウザを使用してください」に正常に機能するようにする方法はありますか?

4

2 に答える 2

2

ブラウザは常に純粋なJavaScriptで検出でき、ブラウザが有効であることを確認するまでdartプログラムを実行しないでください。

于 2012-10-25T04:59:46.850 に答える
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

Dart VMの検出:http ://www.dartlang.org/dartium/#detect

于 2012-10-26T09:57:35.510 に答える