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

通过判断浏览器的userAgent,用正则来判断手机是否是 ios Android 客户端。 代码 如下:
[html]  view plain  copy
 print ?
  1. <script type="text/javascript">  
  2. var u = navigator.userAgent;  
  3. var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端  
  4. var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端  
  5. alert('是否是Android:'+isAndroid);  
  6. alert('是否是iOS:'+isiOS);  
  7. </script>  

可以打开你的Android手机或者iphone扫描看看


原文链接:http://caibaojian.com/browser-ios-or-android.html

下面一个比较全面的浏览器检查函数,提供更多的检查内容,你可以检查是否是移动端(Mobile)、ipad、iphone、微信、QQ等。·

第一种:来自http://blog.baiwand.com/?post=176

[html]  view plain  copy
 print ?
  1. <script type="text/javascript">  
  2. //判断访问终端  
  3. var browser={  
  4.     versions:function(){  
  5.         var u = navigator.userAgent, app = navigator.appVersion;  
  6.         return {  
  7.             trident: u.indexOf('Trident') > -1, //IE内核  
  8.             presto: u.indexOf('Presto') > -1, //opera内核  
  9.             webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核  
  10.             gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核  
  11.             mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端  
  12.             ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端  
  13.             android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端  
  14.             iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器  
  15.             iPad: u.indexOf('iPad') > -1, //是否iPad  
  16.             webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部  
  17.             weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)  
  18.             qq: u.match(/\sQQ/i) == " qq" //是否QQ  
  19.         };  
  20.     }(),  
  21.     language:(navigator.browserLanguage || navigator.language).toLowerCase()  
  22. }  
  23. </script>  

使用方法:

[html]  view plain  copy
 print ?
  1. //判断是否IE内核  
  2. if(browser.versions.trident){ alert("is IE"); }  
  3. //判断是否webKit内核  
  4. if(browser.versions.webKit){ alert("is webKit"); }  
  5. //判断是否移动端  
  6. if(browser.versions.mobile||browser.versions.android||browser.versions.ios){ alert("移动端"); }  

检测浏览器语言:

[html]  view plain  copy
 print ?
  1. currentLang = navigator.language;   //判断除IE外其他浏览器使用语言  
  2. if(!currentLang){//判断IE浏览器使用语言  
  3.     currentLang = navigator.browserLanguage;  
  4. }  
  5. alert(currentLang);  

第二种:来自http://www.fufuok.com/js-iphone-android.html
[html]  view plain  copy
 print ?
  1. if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {  
  2.     //alert(navigator.userAgent);    
  3.     window.location.href ="iPhone.html";  
  4. } else if (/(Android)/i.test(navigator.userAgent)) {  
  5.     //alert(navigator.userAgent);   
  6.     window.location.href ="Android.html";  
  7. } else {  
  8.     window.location.href ="pc.html";  
  9. };  

原文链接:http://caibaojian.com/browser-ios-or-android.html

【推荐】·

PHP 检测终端类:

Mobile Detect - lightweight PHP class for detecting mobile devices (including tablets)

### Vue.js 中检测客户端设备类型 为了在 Vue.js 应用程序中区分移动设备和桌面设备,可以利用 JavaScript 的 `navigator.userAgent` 属性来解析用户代理字符串。这种方法能够帮助识别访问者使用的设备类型。 一种常见的方式是在创建 Vue 实例之前定义一个全局属性或方法用于判断当前环境: ```javascript // main.js 或入口文件 import Vue from 'vue'; import App from './App.vue'; Vue.prototype.$isMobile = function() { const userAgent = navigator.userAgent || navigator.vendor || window.opera; // 检查常见的移动设备标记 if (/android/i.test(userAgent)) { return true; // Android 设备 } if (/iPhone|iPad|iPod/.test(userAgent)) { return true; // iOS 设备 } // 如果以上条件都不满足,则认为是非移动设备 return false; } new Vue({ render: h => h(App), }).$mount('#app'); ``` 这样,在任何组件内部都可以通过 `this.$isMobile()` 来调用这个函数[^1]。 另外,也可以考虑使用第三方库如 [mobile-detect](https://github.com/hgoebl/mobile-detect.js/) 提供更精确的检测功能。安装该库之后可以在项目里轻松实现跨平台兼容性的逻辑处理。 对于服务器端渲染的应用场景,考虑到首次请求时服务端也需要知道设备信息以便返回适当的内容给前端展示,因此可以在 Node.js 环境下提前获取这些信息并通过上下文传递给 Vue 组件实例化过程中的 props 参数[^2]。 如果希望集成更加自动化的工作流配置,比如自动重启开发服务器以应用更改,那么可以在项目的 package.json 文件内添加相应的 npm 脚本来简化操作流程[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值