ユーザーが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がある場合は、任意のソリューションを使用します。
これは、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.");
}
これは、Internet Explorerの各リリースが ser-agent string を更新するためです。
MSIE
トークンはInternet Explorer 11で削除され、$.browser
はnavigator.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");
}
ありがとう!
つまり、現在使用しているユーザーのバージョンに興味がない場合は、ブラウザがConditional Compilation Statements
をサポートしているかどうかを検出して動作させることができます。
http://msdn.Microsoft.com/en-us/library/7kx09ct1%28v=vs.80%29.aspx
if(/*@cc_on!@*/false)
{
// You use IE. That´s no good.
alert("oh my god");
}
条件付きコンパイル を使用できます。
<script>
var isIE = false;
/*@cc_on isIE = true; @*/
</script>
しかし、IE11は標準モードではこれを観察しないことに注意してください。ユーザーエージェントのスニッフィングは一般に悪い考えですが、IEがより標準に準拠するようになるにつれて、検出も難しくなります(必要性が減ることも意味します)
現在IE 11であるIE> 10の場合、user-agentはブラウザのHTTPリクエストヘッダーで何かを運びます
Mozilla/5.0(Windows NT 6.3; WOW64; Trident/7.0; rv:11.)Geckoのような
バージョン11では、「rv:11.」にチェックを付けることができます。このためのコードが必要かどうか教えてください。
私は過去にこのスクリプトを見つけました(おそらくSOで)、それは私のために働きました(IE 10も)
<![if IE]>
<script type='text/javascript'>
if(/*@cc_on!@*/false)
var bIsIE = 1;
</script>
<![endif]>
その後
if (typeof (bIsIE) != 'undefined')
{
//IE :(
}
else
{
//NOT IE :)
}