JS判断客户端是否是iOS或者Android手机移动端
来源:互联网 发布:linux 百度云盘同步 编辑:程序博客网 时间:2024/05/20 20:04
//======判断平台类型
function getPlatformType() {
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.*/),//是否为移动终端
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,//是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1,//是否iPad
webApp: u.indexOf('Safari') == -1,//是否web应该程序,没有头部与底部
weixin: u.indexOf('MicroMessenger') > -1,//是否微信 (2015-01-22新增)
qq: u.match(/\sQQ/i) ==" qq" ,//是否QQ
isAndroid: u.indexOf('Android') > -1 ||u.indexOf('Adr') > -1,//android客户端
isiOS :!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) //ios客户端
};
}(),
language: (navigator.browserLanguage ||navigator.language).toLowerCase()
}
if (browser.versions.mobile) {
//判断是否是移动设备打开。browser代码在下面
//用正则来判断手机是否是ios(苹果)和Android(安卓)客户端
var ua =navigator.userAgent.toLowerCase();//获取判断用的对象
//alert(ua)
if (ua.match(/MicroMessenger/i) =="micromessenger") {
//在微信中打开
alert('微信')
}
else if (ua.match(/WeiBo/i) =="weibo") {
//在新浪微博客户端打开
alert('新浪微博')
}
else if ((ua.match(/QQ/i) =="qq" &&ua.indexOf('v1_and_sq')>-1) || (ua.match(/QQ/i) == "qq" && ua.indexOf('v1_iph_sq')>-1) ) {
// //在QQ里面打开 内置浏览器android和ios不一样
alert('QQ')
}
else if (ua.match(/txmicroblog/i) =="txmicroblog") {
//在腾讯微博(自定义)
alert('腾讯weibo')
}
else{
alert('浏览器')
}
} else {
//否则就是PC浏览器打开
}
}
//========8.18判断平台类型function getPlatformType() {var platformType = '';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.*/), //是否为移动终端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, //是否为iPhone或者QQHD浏览器iPad: u.indexOf('iPad') > -1, //是否iPadwebApp: u.indexOf('Safari') == -1,//是否web应该程序,没有头部与底部weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)qq: u.match(/\sQQ/i) == " qq" ,//是否QQisAndroid: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1,//android客户端isiOS :!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) //ios客户端};}(),language: (navigator.browserLanguage || navigator.language).toLowerCase()}if (browser.versions.mobile) {//判断是否是移动设备打开。browser代码在下面//用正则来判断手机是否是ios(苹果)和Android(安卓)客户端var ua = navigator.userAgent.toLowerCase();//获取判断用的对象//alert(ua)if (ua.match(/MicroMessenger/i) == "micromessenger") {//在微信中打开platformType = 'CKPT0001'}else if ((ua.match(/QQ/i) == "qq" && ua.indexOf('v1_and_sq')>-1) || (ua.match(/QQ/i) == "qq" && ua.indexOf('v1_iph_sq')>-1) ) {// //在QQ里面打开 内置浏览器android和ios不一样platformType = 'CKPT0002'}else if (ua.match(/WeiBo/i) == "weibo") {//在新浪微博客户端打开platformType = 'CKPT0003'}else if (ua.match(/txmicroblog/i) == "txmicroblog") { //在腾讯微博(自定义) platformType = 'CKPT0004'}else{//浏览器platformType = 'CKPT0005'}} else {//否则就是PC浏览器打开platformType = 'CKPT0005'}return platformType}
通过判断浏览器的userAgent,用正则来判断手机是否是ios(苹果)和Android(安卓)客户端。代码如下:
<script type="text/javascript">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终端alert('是否是Android:'+isAndroid);alert('是否是iOS:'+isiOS);</script>
可以打开你的Android手机或者iphone扫描看看
下面一个比较全面的浏览器检查函数,提供更多的检查内容,你可以检查是否是移动端(Mobile)、ipad、iphone、微信、QQ等。
第一种:来自http://blog.baiwand.com/?post=176
<script type="text/javascript">//判断访问终端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.*/), //是否为移动终端 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端 iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器 iPad: u.indexOf('iPad') > -1, //是否iPad webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部 weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增) qq: u.match(/\sQQ/i) == " qq" //是否QQ }; }(), language:(navigator.browserLanguage || navigator.language).toLowerCase()}</script>
使用方法:
//判断是否IE内核if(browser.versions.trident){ alert("is IE"); }//判断是否webKit内核if(browser.versions.webKit){ alert("is webKit"); }//判断是否移动端if(browser.versions.mobile||browser.versions.android||browser.versions.ios){ alert("移动端"); }
检测浏览器语言
currentLang = navigator.language; //判断除IE外其他浏览器使用语言if(!currentLang){//判断IE浏览器使用语言 currentLang = navigator.browserLanguage;}alert(currentLang);
第二种:来自http://www.fufuok.com/js-iphone-android.html
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //alert(navigator.userAgent); window.location.href ="iPhone.html";} else if (/(Android)/i.test(navigator.userAgent)) { //alert(navigator.userAgent); window.location.href ="Android.html";} else { window.location.href ="pc.html";};
阅读全文
0 0
- 移动端html5,JS判断客户端是否是iOS或者Android手机移动端
- JS判断客户端是否是iOS或者Android手机移动端
- JS判断客户端是否是iOS或者Android手机移动端
- JS判断客户端是否是iOS或者Android手机移动端
- JS判断客户端是否是iOS或者Android手机移动端
- JS判断客户端是否是iOS或者Android手机移动端
- JS判断客户端是否是iOS或者Android手机移动端
- JS判断客户端是否是iOS或者Android手机移动端
- JS判断客户端是否是iOS或者Android手机移动端
- JS判断客户端是否是iOS或者Android手机移动端
- JS判断客户端是否是iOS或者Android手机移动端
- JS判断客户端是否是iOS或者Android手机移动端
- JS判断客户端是否是iOS或者Android手机移动端
- JS判断客户端是否是iOS或者Android手机移动端
- 项目总结(3) H5 JS判断客户端是否是iOS或者Android手机移动端
- JS判断客户端是否是iOS或者Android手机移动端
- js判断客户端是ios或者是android手机移动端
- JavaScript判断客户端是否是iOS或者Android手机移动端
- java小项目-验证码的生成以及验证
- Linux启动管理
- vue.js学习笔记(三)--父子组件通信总结
- linux基本命令及操作2
- Zookeeper常用命令
- JS判断客户端是否是iOS或者Android手机移动端
- 111. Minimum Depth of Binary Tree
- Spring(前言)
- 使用kotlin开发springboot应用
- TensorFlow 文本识别
- 三进制小数 oj132
- CA介绍
- Leetcode--17:Letter Combinations of a Phone Number
- C primer plus(编程练习)file-4.8-5