ホームページ  >  記事  >  ウェブフロントエンド  >  js ie非ieブラウザのいくつかの判定方法まとめ_javascriptスキル

js ie非ieブラウザのいくつかの判定方法まとめ_javascriptスキル

WBOY
WBOYオリジナル
2016-05-16 18:26:401154ブラウズ

最近、Situ Zhengmei js 世界一短い IE ブラウザ判定コード の記事で、わずか 6 バイトで ie か非 ie かを判定する方法を目にしました。コードは次のとおりです:


[Ctrl A すべて選択 注: 外部 Js を導入する必要がある場合は、更新して実行する必要があります
]



実際には、さまざまな判断方法があり、そのほとんどはブラウザの特性に基づいています。

たとえば、ライブラリのプロトタイプ メソッドは次のとおりです: !!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1) 。 IE では listen イベントの追加に window.attachEvent をサポートしており、非 IE では listen イベントの追加に window.addEventListener を使用しているという事実に基づいて判断されます。 navigator.userAgent.indexOf('Opera') === -1 は、!!(window.attachEvent) が true の場合、逆に、!window.addEventListener が true の場合、opara ブラウザーは ie に偽装できるためです。

Ext は !"1"[0] を使用していると判断できます。これは、IE が文字列にアクセスするために配列の添字を使用できないことを利用して判断されます。 ie8では問題があるようです。

! [1,] が発見されるまで、IE が垂直タブ文字をサポートしていないことを利用して、IE を判断するための最短の表現が使用されました。

以前は、Opera ブラウザは IE に偽装できるため、document.all という別のメソッドが一般的に使用されていました。次のように記述できます:!!(document.all && navigator.userAgent.indexOf('Opera') === -1)

他にもたくさんあるので、簡単に参照できるように最初にこれらのいくつかを覚えておいてください。仕事。

1.[1,]

2.! "v1"

3.!!(window.attachEvent && navigator.userAgent.indexOf('Opera') = == -1)

4.!!(!window.addEventListener&& navigator.userAgent.indexOf('Opera') === -1)
<script> if(!+[1,])alert("这是ie浏览器");    else alert("这不是ie浏览器"); </script>5.!!(document.all && navigator.userAgent.indexOf('Opera') === -1)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。