网站地图    收藏   

主页 > 前端 > javascript >

JS判断浏览器类型,来处理浏览器兼容

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

[导读] 时候,经常会遇到网页在各个浏览器下不兼容的情况,通常我们处理的方式就是,判断浏览器,然后分别来写不同的JS或者CSS样式,下面就是一些常用的浏览器判断js:...


Windows操作系统浏览器系列:

IE浏览器系列:

特征表现:均以 "mozilla/" 开头,"msie x.0;" 中的x表示其版本;
判断方法:粗略判断可以只检索 "msie x.0;" 字符串即可,严格判断可检索 "mozilla/x.0 (compatibal; msie x.0; windows nt",不过一般没有这个必要
Windows版Firefox:
特征表现:以"mozilla/x.0"开头,包含"windows nt","gecko/"和"firefox/" ;
判断方法:粗略判断可以只检索 "firefox/"和"windows nt" 字符串,严格判断可以检索"mozilla/" ,"windows nt","gecko/"和"firefox/" 四个字符串;
Windows版Chrome:
特征表现: 以"mozilla/x.0"开头,包含"windows nt","chrome/",同时包含"applewebkit/","safari/";
判断方法:粗略判断可以只检索 "windows nt"和"chrome/"字符串,严格判断可以同时检索 "mozilla/" ,"windows nt","applewebkit/","safari/","chrome/" 五个字符串;
Windows版Opera:
特征表现:以"opera/"开头,含有"windows nt","presto/" 字符串;
判断方法:粗略判断只检索 "windows nt"和"opera/"字符串,严格判断同时检索 "opera/","windows nt" 和 "presto/";
Windows版Safari:
特征表现:以"mozilla/"开头,同时含有"windows nt","applewebkit/","safari/";
判断方法:粗略判断可以检索含有 "windows nt","safari/" 同时不包含 "chrome/",严格判断需要同时含有"mozilla/","windows nt","applewebkit/","safari/"但是不包含"chrome/";  
小结:Windows操作系统上的浏览器userAgent均包含"windows nt"字符串来表征windows操作系统。


例1

 代码如下 复制代码

<script>
// 获取浏览器名称及版本信息
 function appInfo(){
 var browser = {
 msie: false, firefox: false, opera: false, safari: false,
 chrome: false, netscape: false, appname: 'unknown', version: 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 ) ){ // safari
 browser.safari = true;
 browser.appname = 'safari';
 browser.version = RegExp.$2;
 }
 return browser;
 }
 // 调用示例
 var myos = appInfo();
 // 如果当前浏览器是IE,弹出浏览器版本,否则弹出当前浏览器名称和版本
 if ( myos.msie ){
 alert( myos.version );
 } else {
 alert( myos.appname + myos.version );
 }
</script>

01

 代码如下 复制代码
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
02 <html xmlns=“http://www.w3.org/1999/xhtml”>
03 <head>
04 <meta http-equiv=“Content-Type” content=“text/html; charset=utf-8″ />
05 <title>无标题文档</title>
06
07 <script type=“text/javascript”>
08     function isIE(){
09         return navigator.appName.indexOf(“Microsoft Internet Explorer”)!=-1 && document.all;
10     }
11     function isIE6() {
12         return navigator.userAgent.split(“;”)[1].toLowerCase().indexOf(“msie 6.0″)==“-1″?false:true;
13     }
14     function isIE7(){
15         return navigator.userAgent.split(“;”)[1].toLowerCase().indexOf(“msie 7.0″)==“-1″?false:true;
16     }
17     function isIE8(){
18         return navigator.userAgent.split(“;”)[1].toLowerCase().indexOf(“msie 8.0″)==“-1″?false:true;
19     }
20     function isNN(){
21        return navigator.userAgent.indexOf(“Netscape”)!=-1;
22     }
23     function isOpera(){
24         return navigator.appName.indexOf(“Opera”)!=-1;
25     }
26     function isFF(){
27         return navigator.userAgent.indexOf(“Firefox”)!=-1;
28     }
29     function isChrome(){
30         return navigator.userAgent.indexOf(“Chrome”) > -1;
31     }
32
33     function showResult(){
34         if(isChrome()){
35             alert(“这是谷歌浏览器”);
36         }
37
38         if(isIE()){
39             alert(“这是IE”);
40         }
41
42         if(isIE6()){
43             alert(“这是isIE6″);
44         }
45
46         if(isIE7()){
47             alert(“这是isIE7″);
48         }
49
50         if(isIE8()){
51             alert(“这是IisIE8″);
52         }
53
54         if(isNN()){
55             alert(“这是isNN”);
56         }
57
58         if(isOpera()){
59             alert(“这是isOpera”);
60         }
61
62         if(isFF()){
63             alert(“这是isFF”);
64         }
65     }
66 </script>
67
68
69 </head>
70
71 <body >
72 <center><input type=“button” onclick=“showResult()” name=“check” value=“检测” style=“width:200px; height:30px;”/></center>
73 </body>
74 </html>

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论