js识别客户端、浏览器、操作系统类型

一、JS判断客户端类型

  JS判断客户端是否是iOS或者Android手机移动端

  通过判断浏览器的userAgent,用正则来判断手机是否是ios和Android客户端。

核心代码如下:

方法一:

var u = navigator.userAgent; 

var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 

var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 

if (isAndroid) {

alert('这是Android'); 

}

if (isiOS) {

alert('这是IOS'); 

}

 

方法二:

if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { 

//alert(navigator.userAgent); 

alert('这是IOS');

} else if (/(Android)/i.test(navigator.userAgent)) { 

//alert(navigator.userAgent); 

alert('这是Android');

} else { 

alert('这是PC');

};


二、JS检测是否在微信打开

   使用js 可以通过 window.navigator.userAgent 来获取浏览器的相关信息,那么我们也可以通过该方法来获取微信内置浏览器的相关信息。根据关键字 MicroMessenger 来判断是否是微信内置的浏览器。

核心代码如下:

function is_weixn(){ 

var ua = navigator.userAgent.toLowerCase(); 

if(ua.match(/MicroMessenger/i)=='micromessenger') { 

alert('在微信里打开'); 

} else { 

alert('不在微信里打开'); 

} 

}

is_weixn();

 


三、JS判断操作系统类型

   在通过Javascript实现客户端和服务端的交互时,有时候需要对操作系统进行判断,以便实现不同操作系统下的兼容性,比如:我们有一个网站, 在Windows下浏览效果良好,但是到了Linux下,由于许多特性不同,会造成在浏览上的细微差异,甚至会影响到良好的用户体验。这个时候我们就需要利用 Javascript对操作系统的类型以及某些特性进行判断,分而治之,从而实现网站在跨平台浏览时候保持良好的用户体验。

下边是对Windows、Mac、Linux、Unix擦作系统进行判断的JS核心代码:

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 isWinVista= sUserAgent.indexOf("Windows NT 6.0") > -1 || sUserAgent.indexOf("Windows Vista") > -1;

if (isWinVista) return "WinVista";

var isWin7 = sUserAgent.indexOf("Windows NT 6.1") > -1 || sUserAgent.indexOf("Windows 7") > -1;

if (isWin7) return "Win7";

}

return "other";

}

alert("您的操作系统是:" + detectOS());




原作链接:https://www.jianshu.com/p/8a59ab014a12

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值