ブラウザの種類と version_javascript スキルを検出するための JavaScript コード

WBOY
リリース: 2016-05-16 18:46:19
オリジナル
1016 人が閲覧しました
ブラウザとそのバージョンを検出するコード
コードをコピーします コードは次のとおりです:

getBrowser : function(){
var browser = {
msie: false、firefox: false、opera: false、safari: false、
chrome: false、netscape: false、appname : 'unknown' 、バージョン: 0
},
userAgent = window.navigator.userAgent.toLowerCase();
if ( /(msie|firefox|opera|chrome|netscape)D (d[d .]*) /.test( userAgent ) ){
browser[RegExp.$1] = true;
browser.appname = RegExp.$2; else if ( / versionD (d[d.]*).*safari/.test( userAgent ) ){ // safari
browser.safari = true;
browser.appname = 'safari';ブラウザのバージョン = RegExp.$2;
ブラウザのアプリ名を返す
}



物体/特徴の検出方法
この方法は、(ブラウザの正確なモデルではなく) ブラウザの機能を判断する一般的な方法です。ほとんどの JS 専門家は、この方法で記述されたスクリプトは将来も保証されると信じているため、このアプローチが最も適切であると考えています。

<span style="COLOR: green">//获取IE浏览器的版本号</span>
ログイン後にコピー
ログイン後にコピー
<span style="COLOR: green">//返回数值,显示IE的主版本号</span>
ログイン後にコピー
ログイン後にコピー
<span style="COLOR: blue">function </span>getIEVer() {
ログイン後にコピー
ログイン後にコピー
 <span style="COLOR: blue">var </span>ua = navigator.userAgent; <span style="COLOR: green">//获取用户端信息</span>
ログイン後にコピー
ログイン後にコピー
<span style="COLOR: green"> </span><span style="COLOR: blue">var </span>b = ua.indexOf(<span style="COLOR: #a31515">"MSIE "</span>); <span style="COLOR: green">//检测特殊字符串"MSIE "的位置</span>
ログイン後にコピー
ログイン後にコピー
<span style="COLOR: green"> </span><span style="COLOR: blue">if </span>(b < 0) {
ログイン後にコピー
ログイン後にコピー
  <span style="COLOR: blue">return </span>0;
ログイン後にコピー
ログイン後にコピー
 }
ログイン後にコピー
ログイン後にコピー
 <span style="COLOR: blue">return </span>parseFloat(ua.substring(b + 5, ua.indexOf(<span style="COLOR: #a31515">";"</span>, b))); <span style="COLOR: green">//截取版本号字符串,并转换为数值</span>
ログイン後にコピー
ログイン後にコピー
}
ログイン後にコピー
ログイン後にコピー
ブラウザの実際の識別情報よりもブラウザの機能を重視する場合は、この方法を使用してください。
ログイン後にコピー
ログイン後にコピー
alert(getIEVer()); <span style="COLOR: green">//返回数值8(我的IE8)</span>
ログイン後にコピー
ユーザーエージェント文字列検出メソッド

ユーザー エージェント文字列は、ブラウザの名前やバージョンなど、Web ブラウザに関する豊富な情報を提供します。

<span style="COLOR: blue">var </span>ua = navigator.userAgent.toLowerCase(); <span style="COLOR: green">//获取用户端信息</span>
ログイン後にコピー
<span style="COLOR: blue">var </span>info = {
ログイン後にコピー
 ie: /msie/.test(ua) && !/opera/.test(ua),  <span style="COLOR: green">//匹配IE浏览器</span>
ログイン後にコピー
<span style="COLOR: green"> </span>op: /opera/.test(ua),  <span style="COLOR: green">//匹配Opera浏览器</span>
ログイン後にコピー
<span style="COLOR: green"> </span>sa: /version.*safari/.test(ua),  <span style="COLOR: green">//匹配Safari浏览器</span>
ログイン後にコピー
<span style="COLOR: green"> </span>ch: /chrome/.test(ua),  <span style="COLOR: green">//匹配Chrome浏览器</span>
ログイン後にコピー
<span style="COLOR: green"> </span>ff: /gecko/.test(ua) && !/webkit/.test(ua)  <span style="COLOR: green">//匹配Firefox浏览器</span>
ログイン後にコピー
};
ログイン後にコピー
(info.ie) && alert(<span style="COLOR: #a31515">"IE浏览器"</span>);
ログイン後にコピー
(info.op) && alert(<span style="COLOR: #a31515">"Opera浏览器"</span>);
ログイン後にコピー
(info.sa) && alert(<span style="COLOR: #a31515">"Safari浏览器"</span>);
ログイン後にコピー
通常、私たちが最も行うことは、それが IE であるかどうかを判断することです。他のブラウザーは通常、IE と FF に準拠するだけで済みます。
(info.ff) && alert(<span style="COLOR: #a31515">"Firefox浏览器"</span>);
ログイン後にコピー
(info.ch) && alert(<span style="COLOR: #a31515">"Chrome浏览器"</span>);
ログイン後にコピー

IE の判定は、上記の方法よりもはるかに複雑です。window.ActiveXObject、document.all など、IE の独自のメソッドを使用することもできます。通常、これらはすべてオブジェクト/機能検出メソッドを使用する必要があります。異なるブラウザで異なるスタイルを記述する場合 (IE スタイルの解析も異なるため)、これを行うことができます
<span style="COLOR: blue">var </span>isIE = (navigator.appName == <span style="COLOR: #a31515">"Microsoft Internet Explorer"</span>);
ログイン後にコピー

<span style="COLOR: green">//获取IE浏览器的版本号</span>
ログイン後にコピー
ログイン後にコピー
<span style="COLOR: green">//返回数值,显示IE的主版本号</span>
ログイン後にコピー
ログイン後にコピー
<span style="COLOR: blue">function </span>getIEVer() {
ログイン後にコピー
ログイン後にコピー
 <span style="COLOR: blue">var </span>ua = navigator.userAgent; <span style="COLOR: green">//获取用户端信息</span>
ログイン後にコピー
ログイン後にコピー
<span style="COLOR: green"> </span><span style="COLOR: blue">var </span>b = ua.indexOf(<span style="COLOR: #a31515">"MSIE "</span>); <span style="COLOR: green">//检测特殊字符串"MSIE "的位置</span>
ログイン後にコピー
ログイン後にコピー
<span style="COLOR: green"> </span><span style="COLOR: blue">if </span>(b < 0) {
ログイン後にコピー
ログイン後にコピー
  <span style="COLOR: blue">return </span>0;
ログイン後にコピー
ログイン後にコピー
 }
ログイン後にコピー
ログイン後にコピー
 <span style="COLOR: blue">return </span>parseFloat(ua.substring(b + 5, ua.indexOf(<span style="COLOR: #a31515">";"</span>, b))); <span style="COLOR: green">//截取版本号字符串,并转换为数值</span>
ログイン後にコピー
ログイン後にコピー
}
ログイン後にコピー
ログイン後にコピー
オペレーティング システムの検出:
ログイン後にコピー
ログイン後にコピー
alert(getIEVer()); <span style="COLOR: green">//返回数值7</span>
ログイン後にコピー

<span style="COLOR: blue">var </span>isWin = (navigator.userAgent.indexOf(<span style="COLOR: #a31515">"Win"</span>) != -1); <span style="COLOR: green">//如果是Windows系统,则返回true</span>
ログイン後にコピー
<span style="COLOR: blue">var </span>isMac = (navigator.userAgent.indexOf(<span style="COLOR: #a31515">"Mac"</span>) != -1);  <span style="COLOR: green">//如果是Macintosh系统,则返回true</span>
ログイン後にコピー
記事の内容のほとんどは「JavaScript Journey」からのものです
<span style="COLOR: blue">var </span>isUnix = (navigator.userAgent.indexOf(<span style="COLOR: #a31515">"X11"</span>) != -1);  <span style="COLOR: green">//如果是Unix系统,则返回true</span>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート