

Angular使っています。
対応していないブラウザからアクセスされた時、普通はUAなどを見て、ブラックリスト式に弾くと思いますが、対応していないブラウザは全てエラーにしたいと思っています。

そこでAngularの初期化プロセスがコケたらエラーにすればよいのではないかと考えました。

Angularで初期化に失敗した時に検出する方法はありますでしょうか？


CC BY-SA 3.0
2014-12-17T10:52:22.920
1914
2014-12-18T03:24:21.533
2213
question
javascript angularjs
Angular.jsで初期化に失敗したらエラーにしたい


初期化前にwindow.onerrorイベントをハンドルしておいて、初期化完了時にangular.Module.runでイベントを解除するというのではどうでしょう。

ただ、初期化プロセスでエラーが出るかどうかだけで、対応しているブラウザの判断をするのは難しいのではないでしょうか。(IE8ならば初期化プロセスで検出可能ですが)

初期化はうまくいくけど実行中に落ちるケースや、CSS3やHTML5が提供する機能の一部に対応していないケースというのもあるかもしれません。

そこで、Modernizrというツールを使ってみるのはどうでしょうか。

<http://www.buildinsider.net/web/modernizr/01>

例えば、EcmaScript5の機能を持っているかどうかチェックするのであれば <http://v3.modernizr.com/download/>
でES5にチェックを入れてダウンロードし、次のようなコードでチェックすることができます。

[code]

    if (!Modernizr.es5) {
      alert("対応していないブラウザです");
    }
    
[/code]


CC BY-SA 3.0
2014-12-18T03:24:21.533
1966
2014-12-18T03:24:21.533
2757
1914
answer