一、需求问题
在移动端开发中,我们有的时候需要判断当前的环境,是苹果ios
环境、还是安卓android
环境,还是微信浏览器环境。
二、需求分析
判断当前环境是ios
、android
还是微信,我们可以从两个值进行判断。第一个参数值是userAgent
,window.navigator.userAgent
,用户代理,使得服务器能够识别客户使用的操作系统及版本、CPU
类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等等。第二个参数值是appVersion
,window.navigator.appVersion
,可以返回浏览器的平台和版本信息。通过这两个参数值,我们就可以判断出当前的环境。
三、需求实现
1. 移动端简单判断代码实现:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16let ua = window.navigator.userAgent, app = window.navigator.appVersion; alert('浏览器版本: ' + app + 'n' + '用户代理: ' + ua); if(!!ua.match(/(i[^;]+;( U;)? CPU.+Mac OS X/)){ // ios端 console.log('ios端'); } else if(ua.indexOf('Android') > -1 || ua.indexOf('Adr') > -1) { // android端 console.log('android端'); } if (ua.match(/MicroMessenger/i) == 'MicroMessenger') { // 微信浏览器 console.log('微信浏览器'); }
2. 移动端详细判断代码实现:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34var 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() } if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) { //如果是ios系统就执行 console.log('这是ios系统'); } else if (browser.versions.android) { //如果是android系统就执行 console.log('这是android系统'); } var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i)=="micromessenger") { console.log('这是微信浏览器') } else { console.log('这不是微信浏览器'); } }
3. PC端与移动端的判断:
复制代码
1
2
3
4
5
6
7
8if (/(iPhone|iPad|iPod|iOS|Android)/i.test(navigator.userAgent)) { //移动端 console.log("这是移动端"); }else{ //pc端 console.log("这是pc端"); }
最后
以上就是难过苗条最近收集整理的关于移动端开发如何判断当前环境是ios、安卓android还是微信浏览器的全部内容,更多相关移动端开发如何判断当前环境是ios、安卓android还是微信浏览器内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复