JavaScriptでIEバージョン(v9より前)を検出する
私たちのWebサイトのユーザーがInternet Explorerv9より前のバージョンを使用している場合、エラーページに移動させたいのですが。支援するのに私たちの時間とお金の価値はありませんIE pre-v9。他のすべてのIE以外のブラウザのユーザーは問題なく、バウンスされるべきではありません。提案されたコードは次のとおりです。 if(navigator.appName.indexOf("Internet Explorer")!=-1){ //yeah, he's using IE var badBrowser=( navigator.appVersion.indexOf("MSIE 9")==-1 && //v9 is ok navigator.appVersion.indexOf("MSIE 1")==-1 //v10, 11, 12, etc. is fine too ); if(badBrowser){ // navigate to error page } } このコードはうまくいきますか? おそらく私の方法で来るいくつかのコメントを控えるために: はい、私はユーザーがuseragent文字列を偽造できることを知っています。私は心配していません。 はい、プログラミングの専門家はブラウザタイプではなく機能サポートを探していることを知っていますが、この場合、このアプローチが理にかなっているとは思いません。すべての(関連する)IE以外のブラウザーが私が必要とする機能をサポートし、すべてのpre-v9 IEブラウザーがサポートしていないことをすでに知っています。サイト全体で機能ごとにチェックするのは無駄です。 はい、私はIE v1(または20以上)を使用してサイトにアクセスしようとする人が 'badBrowser'をtrueに設定せず、警告ページが適切に表示されないことを知っています。それは私たちが喜んで取るリスクです。 はい、私はマイクロソフトがブラウザの正確なバージョン検出に使用できる「条件付きコメント」を持っていることを知っています。IEはから条件付きコメントをサポートしなくなったためIE 10、このアプローチはまったく役に立たなくなりました。 注意すべき他の明らかな問題はありますか?