>  기사  >  웹 프론트엔드  >  브라우저 유형 및 version_javascript 기술을 감지하는 javascript 코드

브라우저 유형 및 version_javascript 기술을 감지하는 javascript 코드

WBOY
WBOY원래의
2016-05-16 18:46:191013검색
브라우저 및 버전 감지 코드
코드 복사 코드는 다음과 같습니다.

getBrowser: function(){
var browser = {
msie: false, firefox: false, Opera: false, safari: false,
chrome: false, netscape: false, appname : '알 수 없음', 버전: 0
},
userAgent = window.navigator.userAgent.toLowerCase()
if ( /(msie|firefox|opera|chrome|netscape)D (d[d .]*) /.test( userAgent ) ){
browser[RegExp.$1] = true;
browser.appname = RegExp.$1;
browser.version = RegExp.$2; else if ( / versionD (d[d.]*).*safari/.test( userAgent ) ){ // 사파리
browser.safari =
browser.appname = 'safari'
browser.version = RegExp.$2;
}
return browser.appname browser.version


객체/특징 감지 방법

이 방법은 (브라우저의 정확한 모델이 아닌) 브라우저의 기능을 확인하는 일반적인 방법입니다. 대부분의 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>
브라우저의 실제 정체성보다 성능이 더 중요하다면 이 방법을 사용하세요.

사용자 에이전트 문자열 감지 방법

사용자 에이전트 문자열은 브라우저 이름과 버전을 포함하여 웹 브라우저에 대한 풍부한 정보를 제공합니다.

<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>);
(info.ff) && alert(<span style="COLOR: #a31515">"Firefox浏览器"</span>);
(info.ch) && alert(<span style="COLOR: #a31515">"Chrome浏览器"</span>);
일반적으로 우리가 가장 많이 하는 일은 IE인지 확인하는 것입니다. 다른 브라우저는 일반적으로 IE와 FF만 준수하면 됩니다.

<span style="COLOR: blue">var </span>isIE = (navigator.appName == <span style="COLOR: #a31515">"Microsoft Internet Explorer"</span>);
IE를 판단하는 방법은 위의 방법보다 훨씬 더 다양합니다. window.ActiveXObject, document.all 등과 같은 IE의 고유한 기능을 사용할 수 있습니다. 일반적으로 이러한 방법을 사용해야 합니다. 다른 브라우저에서 다른 스타일을 작성하는 경우(IE 스타일 구문 분석도 다르기 때문에) 버전을 판단해야 합니다

<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>
<span style="COLOR: blue">var </span>isUnix = (navigator.userAgent.indexOf(<span style="COLOR: #a31515">"X11"</span>) != -1);  <span style="COLOR: green">//如果是Unix系统,则返回true</span>
<span style="COLOR: blue">var </span>isLinux = (navigator.userAgent.indexOf(<span style="COLOR: #a31515">"Linux"</span>) != -1);  <span style="COLOR: green">//如果是Linux系统,则返回true</span>
기사 내용의 대부분은 "Javascript Journey"에서 가져온 것입니다
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.