JS辨别访问浏览器判断是android还是ios系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS辨别访问浏览器判断是android还是ios系统相关的知识,希望对你有一定的参考价值。
1、通过判断浏览器的userAgent,用正则来判断是否是ios和android客户端。代码如下:
2、检查是否是移动端(Mobile)、ipad、iphone、微信、QQ等:
使用方法:
检测浏览器语言:
3、判断iPhone|iPad|iPod|iOS|Android客户端:
4、判断pc还是移动端:
参考技术A项目中需要扫描二维码之后自动分辨出是android还是ios系统,针对于不同的系统进行不同的下载。
智能机浏览器版本信息:
var browser =
versions: function()
var u = navigator.userAgent, app = navigator.appVersion;
return //移动终端浏览器版本信息
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('Khtml') == -1, //火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端
ios: !!u.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
;
(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
扩展资料:
常用的js常识:
1、内置类型
JS 中分为七种内置类型,七种内置类型又分为两大类型:基本类型和对象(Object)。
基本类型有六种: null, undefined, boolean, number, string, symbol。
其中 JS 的数字类型是浮点类型的,没有整型javas。并且浮点类型基于 IEEE 754标准实现,在使用中会遇到某些 Bug。
NaN 也属于 number 类型,并且 NaN 不等于自身。
对于基本类型来说,如果使用字面量的方式,那么这个变量只是个字面量,只有在必要的时候才会转换为对应的类型。对象(Object)是引用类型,在使用过程中会遇到浅拷贝和深拷贝的问题。
2、Typeof
typeof 对于基本类型,除了 null 都可以显示正确的类型
typeof 对于对象,除了函数都会显示 object
对于 null 来说,虽然它是基本类型,但是会显示 object,这是一个存在很久了的 Bug
PS:出现这种情况的原因是因为在 JS 的最初版本中,使用的是 32 位系统,为了性能考虑使用低位存储了变量的类型信息, 000 开头代表是对象,然而 null 表示为全零,所以将它错误的判断为 object 。虽然现在的内部类型判断代码已经改变了,但是对于这个 Bug 却是一直流传下来。
如果我们想获得一个变量的正确类型,可以通过 Object.prototype.toString.call(xx)。这样我们就可以获得类似 [objectType] 的字符串。
3、类型转换
1)转Boolean
在条件判断时,除了 undefined, null, false, NaN, '', 0, -0,其他所有值都转为 true,包括所有对象。
2)对象转基本类型
对象在转换基本类型时,首先会调用 valueOf 然后调用 toString。并且这两个方法你是可以重写的。
当然你也可以重写 Symbol.toPrimitive ,该方法在转基本类型时调用优先级最高。
参考技术B var ua = navigator.userAgent.toLowerCase();if (/iphone|ipad|ipod/.test(ua))
//alert("iphone");
else if (/android/.test(ua))
alert("android");
本回答被提问者和网友采纳 参考技术C navigator.userAgent
JS判断是IOS还是Android
var u = navigator.userAgent, app = navigator.appVersion; var isAndroid = u.indexOf(‘Android‘) > -1 || u.indexOf(‘Linux‘) > -1; //android终端或者uc浏览器 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 alert(‘是否是Android:‘+isAndroid); alert(‘是否是iOS:‘+isiOS);
以上是关于JS辨别访问浏览器判断是android还是ios系统的主要内容,如果未能解决你的问题,请参考以下文章