web-dev-qa-db-ja.com

IE(MSIE)の種類を検出する

ユーザーがMicrosoft Internetexplorer(任意のバージョン)で自分のサイトにアクセスできるようにしたくありません。

これまでに見つけたのは、バージョン10以下かどうかを検出することでした。

非常に面倒なこと:Internetexplorer> v10はInternetExplorerであることを認めていません。

これまでに見つけて試したこと:

if(navigator.appVersion.indexOf("MSIE")!=-1){
alert("You use IE. That´s no good.");
}

または

if ( $.browser.msie ) {
alert( $.browser.version );
}

そして

http://msdn.Microsoft.com/en-us/library/ie/ms537509%28v=vs.85%29.aspx

Javascript、jquery、またはphpがある場合は、任意のソリューションを使用します。

48

これは、IE 5-11(Internet Explorer)のすべてのバージョンを検出するのに役立ちます(Aug/05/2014)

if (navigator.appName == 'Microsoft Internet Explorer' ||  !!(navigator.userAgent.match(/Trident/) || navigator.userAgent.match(/rv:11/)) || (typeof $.browser !== "undefined" && $.browser.msie == 1))
{
  alert("Please dont use IE.");
}
83
Top Questions

これは、Internet Explorerの各リリースが ser-agent string を更新するためです。

MSIEトークンはInternet Explorer 11で削除され、$.browsernavigator.userAgentを使用してプラットフォームを決定し、jQuery 1.9で削除されます。

次のコードを使用して、純粋なJavaスクリプトでブラウザを決定できます。

var isIE = !!navigator.userAgent.match(/Trident/g) || !!navigator.userAgent.match(/MSIE/g);

if(isIE){
 alert("IE"); 
}
else{
 alert("Not IE");   
}

ありがとう!

26
Saranga

つまり、現在使用しているユーザーのバージョンに興味がない場合は、ブラウザがConditional Compilation Statementsをサポートしているかどうかを検出して動作させることができます。

http://msdn.Microsoft.com/en-us/library/7kx09ct1%28v=vs.80%29.aspx

if(/*@[email protected]*/false)
{
    // You use IE. That´s no good.
    alert("oh my god");
}
7
ins0

条件付きコンパイル を使用できます。

<script>
var isIE = false;
/*@cc_on isIE = true; @*/
</script>

しかし、IE11は標準モードではこれを観察しないことに注意してください。ユーザーエージェントのスニッフィングは一般に悪い考えですが、IEがより標準に準拠するようになるにつれて、検出も難しくなります(必要性が減ることも意味します)

4
Tim

現在IE 11であるIE> 10の場合、user-agentはブラウザのHTTPリクエストヘッダーで何かを運びます

Mozilla/5.0(Windows NT 6.3; WOW64; Trident/7.0; rv:11.)Geckoのような

バージョン11では、「rv:11.」にチェックを付けることができます。このためのコードが必要かどうか教えてください。

1
user3859423

私は過去にこのスクリプトを見つけました(おそらくSOで)、それは私のために働きました(IE 10も)

<![if IE]>
<script type='text/javascript'>
if(/*@[email protected]*/false)
var bIsIE = 1;
</script>
<![endif]>

その後

if (typeof (bIsIE) != 'undefined')
{
    //IE :(
}
else
{
    //NOT IE :)
}
1
faby