Forever.Sun 判断当前系统,浏览器,版本号(PC&&移动端)

  1 var client = function () {
  2     //呈现引擎
  3     var engine = {
  4         ie: 0,
  5         gecko: 0,
  6         webkit: 0,
  7         khtml: 0,
  8         opera: 0,
  9         //完整版本号
 10         ver: null
 11     }
 12     //浏览器
 13     var browser = {
 14         //主要浏览器
 15         ie: 0,
 16         firefox: 0,
 17         safari: 0,
 18         konq: 0,
 19         opera: 0,
 20         chrome: 0,
 21         //具体版本号
 22         ver: null
 23     };
 24     //平台、设备和操作系统
 25     var system = {
 26         win: false,
 27         mac: false,
 28         x11: false,
 29         //移动设备
 30         iphone: false,
 31         ipod: false,
 32         ipad: false,
 33         ios: false,
 34         android: false,
 35         nokiaN: false,
 36         winMobile: false,
 37
 38         //游戏系统
 39         wii: false,
 40         ps: false
 41     };
 42     //检测呈现引擎和浏览器
 43     var ua = navigator.userAgent;
 44     if (window.opera) {
 45         engine.ver = browser.ver = window.opera.version();
 46         engin.opera = browser.opera = parseFloat(engine.ver);
 47     } else if (/AppleWebKit\/(\S+)/.test(ua)) {
 48         engine.ver = RegExp["$1"];
 49         engine.webkit = parseFloat(engine.ver);
 50
 51         //确定是chrome还是safari
 52         if (/Chrome\/(\S+)/.test(ua)) {
 53             browser.ver = RegExp["$1"];
 54             browser.chrome = parseFloat(browser.ver);
 55         } else if (/Version\/(\S+)/.test(ua)) {
 56             browser.ver == RegExp["$1"];
 57             browser.safari = parseFloat(browser.ver);
 58         } else {
 59             var safariVersion = 1;
 60             if (engine.webkit < 100) {
 61                 safariVersion = 1;
 62             } else if (engine.webkit < 312) {
 63                 safariVersion = 1.2;
 64             } else if (engine.webkit < 412) {
 65                 safariVersion = 1.3;
 66             } else {
 67                 safariVersion = 2;
 68             }
 69
 70             browser.safari = browser.ver = safariVersion;
 71         }
 72     } else if (/KHTML\/(\S+)/.test(ua) || /Konqueror\/([^;]+)/.test(ua)) {
 73         engine.ver = browser.ver = RegExp["$1"];
 74         engine.khtml = browser.konq = parseFloat(engine.ver);
 75     } else if (/rv:([^\)]+)\) Gecko\/\d{8}/.test(ua)) {
 76         engine.ver = RegExp["$1"];
 77         engine.gecko = parseFloat(engine.ver);
 78
 79         //确定不是Firefox
 80         if (/Firefox\/(\S+)/.test(ua)) {
 81             browser.ver == RegExp["$1"];
 82             browser.firefox = parseFloat(browser.ver);
 83         }
 84     } else if (/MSIE ([^;]+)/.test(ua)) {
 85         engine.ver = browser.ver = RegExp["$1"];
 86         engine.ie = browser.ie = parseFloat(engine.ver);
 87     }
 88
 89     //检测浏览器
 90     browser.ie = engine.ie;
 91     browser.opera = engine.opera;
 92
 93     //检测平台
 94     var p = navigator.platform;
 95     system.win = p.indexOf("Win") == 0;
 96     system.mac = p.indexOf("Mac") == 0;
 97     system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
 98
 99     //检测window操作系统
100     if (system.win) {
101         if (/Win(?:dows )?([^do]{2})\s?(\d+\.\d+)?/.test(ua)) {
102             if (RegExp["$1"] == "NT") {
103                 switch (RegExp["$2"]) {
104                     case "5.0":
105                         system.win = "2000";
106                         break;
107                     case "5.1":
108                         system.win = "XP";
109                         break;
110                     case "6.0":
111                         system.win = "Vista";
112                         break;
113                     case "6.1":
114                         system.win = "7";
115                         break;
116                     default:
117                         system.win = "NT";
118
119                 }
120             } else if (RegExp["$1"] == "9x") {
121                 system.win = "ME";
122             } else {
123                 system.win = RegExp["$1"];
124             }
125         }
126     }
127
128     //移动设备
129     system.iphone = ua.indexOf("iPhone") > -1;
130     system.ipod = ua.indexOf("iPod") > -1;
131     system.ipad = ua.indexOf("iPad") > -1;
132     system.nokiaN = ua.indexOf("NokiaN") > -1;
133
134     //window mobile
135     if (system.win == "CE") {
136         system.winMobile = system.win;
137     } else if (system.win == "Ph") {
138         if (/windows Phone OS (\d+.\d+)/.test(ua)) {
139             system.win = "Phone";
140             system.winMobile = parseFloat(RegExp["$1"]);
141         }
142
143     }
144
145     //检测ios版本
146
147     if (system.mac && ua.indexOf("Mobile") > -1) {
148         if (/CPU (?:iPhone )?OS (\d+_\d+)/.test(ua)) {
149             system.ios = parseFloat(RegExp.$1.replace("_", "."));
150         } else {
151             system.ios = 2;
152         }
153     }
154
155     //检测Android版本
156     if (/Android (\d+\.\d+)/.test(ua)) {
157         system.android = parseFloat(RegExp.$1);
158     }
159
160     //游戏系统
161     system.wii = ua.indexOf("Will") > -1;
162     system.ps = /playstation/i.test(ua);
163     //返回这些对象
164     return {
165         engine: engine,
166         browser: browser,
167         system: system
168     };
169 } ();
时间: 2024-10-14 04:15:35

Forever.Sun 判断当前系统,浏览器,版本号(PC&&移动端)的相关文章

Forever.Sun 判断浏览器是否有某个插件

首先写两个方法 //非Ie浏览器 function hasPlugin(name){ name=name.toLowerCase(); for(var i=0;i<navigator.plugins.length){ if(navigator.plugins[i].name.toLowerCase().indexOf(name)>-1){ return true; } } return false; } //ie浏览器 function hasIEPlugin(name){ try{ new

js判断用户的浏览器设备是移动端还是pc端

最近做的一个网站页面中需要根据用户的访问设备的不同来显示不同的页面样式,主要是判断移动设备还是电脑浏览器访问的. 下面给出js判断处理代码,以作参考. <script type="text/javascript"> function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "i

.Net一个很有用的帮助类,包含获取获取浏览器版本号、 获取操作系统版本号、获取客户端IP地址、取客户端真实IP、获取公网IP、判断是否是IP格式

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Threading.Tasks;using System.Web; namespace ZC.Common.Log{    class UserHelper    { #region 获取浏览器版本号 /// <summary>   

判断浏览器是pc端和移动

/** * 判断浏览器是pc端和移动端,并跳转到不同页面 */ function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; var bI

python判断网站来自手机还是pc浏览器

#判断网站来自mobile还是pc def checkMobile(request):     """     demo :         @app.route('/m')         def is_from_mobile():             if checkMobile(request):                 return 'mobile'             else:                 return 'pc'     :pa

php判断是手机登陆还是PC登陆

// 判断是手机登陆还是PC登陆 function ismobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) return true; //此条摘自TPM智能切换模板引擎,适合TPM开发 if(isset ($_SERVER['HTTP_CLIENT']) &&'PhoneClient'==$_SERVER['HTTP_CLIENT']) return true; //

js判断操作系统与浏览器

摘要: 对于前端开发我们最重要的工作就是兼容性,系统的兼容性,浏览器的兼容性等等.今天分享一个我在项目中封装的判断操作系统与浏览器的方法. 操作系统: var os = (function() { var UserAgent = navigator.userAgent.toLowerCase(); return { isIpad : /ipad/.test(UserAgent), isIphone : /iphone os/.test(UserAgent), isAndroid : /andro

Android 打电话,发短信,调用系统浏览器

打电话: Intent intent = new Intent(Intent.ACTION_DIAL); intent.setData(Uri.parse("tel:10086")); startActivity(intent); 发短信: SmsManager smsManager=SmsManager.getDefault();//取得短信管理器 /**发简单的文本信息 * destinationAddress: 目标地址,发给谁 * scAddress: 来源的地址,谁发的 *

tensorboard在windows系统浏览器显示空白的解决

一个简单的using_tensorboard.py程序,如下: 1 #using_tensorboard.py 2 3 import tensorflow as tf 4 5 a = tf.constant(10,name="a") 6 b = tf.constant(90,name="b") 7 y = tf.Variable(a+b*2,name='y') 8 model = tf.initialize_all_variables() 9 10 with tf.