博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]JS判断访问设备、客户端操作系统类型
阅读量:7071 次
发布时间:2019-06-28

本文共 3154 字,大约阅读时间需要 10 分钟。

本文转自:

先给出一个实例:判断windows、linux、android

复制以下代码另存为html文件即可。

判断操作系统

 

 

判断当前访问网站的设备是否是PC

//平台、设备和操作系统var system ={win : false,mac : false,xll : false};//检测平台var p = navigator.platform;system.win = p.indexOf("Win") == 0;system.mac = p.indexOf("Mac") == 0;system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);//跳转语句if(system.win||system.mac||system.xll){alert("PC访问");}else{alert("非PC访问");}

 

JS判断访问设备(userAgent)加载不同页面。代码如下:

function browserRedirect() {var sUserAgent = navigator.userAgent.toLowerCase();var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";var bIsMidp = sUserAgent.match(/midp/i) == "midp";var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";var bIsAndroid = sUserAgent.match(/android/i) == "android";var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";if (! (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM)) {window.location.href = B页面;}}browserRedirect();

 

JS判断客户端操作系统类型(platform)来定义不同的字体表现。代码如下:

// 更详细的探测当前客户端使用的操作系统function detectOS() {var sUserAgent = navigator.userAgent;var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel"); if (isMac) return "Mac";var isUnix = (navigator.platform == "X11") && !isWin && !isMac;if (isUnix) return "Unix";var isLinux = (String(navigator.platform).indexOf("Linux") > -1);if (isLinux) return "Linux";if (isWin) {var isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") > -1;if (isWin2K) return "Win2000";var isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows XP") > -1;if (isWinXP) return "WinXP";var isWin2003 = sUserAgent.indexOf("Windows NT 5.2") > -1 || sUserAgent.indexOf("Windows 2003") > -1;if (isWin2003) return "Win2003";var isWin2003 = sUserAgent.indexOf("Windows NT 6.0") > -1 || sUserAgent.indexOf("Windows Vista") > -1;if (isWin2003) return "WinVista"; var isWin2003 = sUserAgent.indexOf("Windows NT 6.1") > -1 || sUserAgent.indexOf("Windows 7") > -1;if (isWin2003) return "Win7";} return "other"; }

 

 

另一种方法,使用mootools框架:

未命名

test Browser.Platform.linux

 

 

使用JS架框有现成的判断 
例如motools架框中:
Browser.Platform.mac - (boolean) 当前操作系统是否为Mac
Browser.Platform.win - (boolean) 当前操作系统是否为Windows
Browser.Platform.linux - (boolean) 当前操作系统是否为Linux
Browser.Platform.ipod - (boolean) 当前操作系统是否为iPod Touch / iPhone
Browser.Platform.other - (boolean) 当前操作系统即不是Mac, 也不是Windows或Linux
Browser.Platform.name - (string) 当前操作系统的名称

附:

在WIN7系统下和XP系统下的宋体显示是不一样的、有的时候容易撑破格子 
而且WIN7下面微软雅黑是系统自带的、效果很好! 
以下的代码可以方便我们判断不同的系统在使用不同系统里自带效果好的字体!或者其它一些东西! 
调用办法
各系统下最佳字体
Win7 and Vista
"Microsoft Yahei",Tahoma 
XP
Tahoma, Helvetica, Arial, 'SimSun', sans-serif 
MAC
"Helvetica Neue",Helvetica,"Hiragino Sans GB",Arial
淘宝上用的通用的系统字体 
Tahoma, Helvetica, Arial, 'Microsoft Yahei', sans-serif

参考资料:http://www.camnpr.com/archives/js-judge-device-and-os.html

 

转载地址:http://aozml.baihongyu.com/

你可能感兴趣的文章
《iPhone与iPad开发实战—iOS经典应用剖析》连载四
查看>>
手动完成输入校验
查看>>
直击Dell World 2014: 戴尔现在挺好的
查看>>
⑨③-不能浪费拥有的年轻资本
查看>>
自定义编译安装python简单笔记。
查看>>
书摘—极致产品
查看>>
5.10-17项目经理考试圆梦提分现场面授行动
查看>>
IT项目中存储设备的选型
查看>>
esxi报错There is no more space for virtual disk--逻辑卷缩减!
查看>>
NFS4中小企业存储实战
查看>>
Windows Server 2012 R2工作文件夹⑨:自动发现设置
查看>>
ActiveReports 6.0 - 高效开发UI
查看>>
VMM2012应用指南之4-向VMM中添加Hyper-V主机与应用服务器
查看>>
最终用户计算一周观察 002
查看>>
Android应用程序进程启动过程的源代码分析(1)
查看>>
km itm监控启停命令记录
查看>>
NIST:制定Cybersecurity的框架进行时
查看>>
无缝升级Windows8.1普通版至专业版
查看>>
CentOS 6.3下nginx、php-fpm、drupal快速部署
查看>>
天猫国潮行动:卡萨帝F+冰箱成高端主推产品
查看>>