JS辨别访问浏览器判断是android还是ios系统


Posted in Javascript onAugust 19, 2014

项目中需要扫描二维码之后自动分辨出是android还是ios系统,针对于不同的系统进行不同的下载。

<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.*/) || !!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) {
window.location="https://itunes.apple.com/xxx";
}
else if (browser.versions.android) {
window.location="http://xxx/xxx.apk";
}

// document.writeln("语言版本: " + browser.language);
// document.writeln(" 是否为移动终端: " + browser.versions.mobile);
// document.writeln(" ios终端: " + browser.versions.ios);
// document.writeln(" android终端: " + browser.versions.android);
// document.writeln(" 是否为iPhone: " + browser.versions.iPhone);
// document.writeln(" 是否iPad: " + browser.versions.iPad);
// document.writeln(navigator.userAgent);

</script>
Javascript 相关文章推荐
对textarea框的代码调试,而且功能上使用非常方便,酷
Jun 30 Javascript
jQuery 使用手册(六)
Sep 23 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
Mar 19 Javascript
js编码、解码函数介绍及其使用示例
Sep 05 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
Dec 14 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
Mar 02 Javascript
JS更改select内option属性的方法
Oct 14 Javascript
Javascript技术栈中的四种依赖注入详解
Feb 23 Javascript
使用jQuery.form.js/springmvc框架实现文件上传功能
May 12 Javascript
vue.js中$watch的用法示例
Oct 04 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
Dec 20 Javascript
vue.js实现回到顶部动画效果
Jul 31 Javascript
JS中实现简单Formatter函数示例代码
Aug 19 #Javascript
用JavaScript实现使用鼠标画线的示例代码
Aug 19 #Javascript
[原创]推荐10款最热门jQuery UI框架
Aug 19 #Javascript
js选择并转移导航菜单示例代码
Aug 19 #Javascript
js遍历子节点子元素附属性及方法
Aug 19 #Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
Aug 19 #Javascript
用循环或if语句从json中取数据示例
Aug 18 #Javascript
You might like
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
2014/04/08 PHP
PHP+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
php计算指定目录下文件占用空间的方法
2015/03/13 PHP
Yii配置与使用memcached缓存的方法
2016/07/13 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
js下写一个事件队列操作函数
2010/07/19 Javascript
JQuery里面的几种选择器 查找满足条件的元素$(&quot;#控件ID&quot;)
2011/08/23 Javascript
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
javascript与Python快速排序实例对比
2015/08/10 Javascript
jqGrid表格应用之新增与删除数据附源码下载
2015/12/02 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
AngularJS基础 ng-disabled 指令详解及简单示例
2016/08/01 Javascript
node使用UEditor富文本编辑器的方法实例
2017/07/11 Javascript
微信通过页面(H5)直接打开本地app的解决方法
2017/09/09 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
详解vue组件中使用路由方法
2019/02/12 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
[01:50]《我与DAC》之玩家:iG夺冠时的那面红旗
2018/03/29 DOTA
Python下载网络文本数据到本地内存的四种实现方法示例
2018/02/05 Python
python读取Excel实例详解
2018/08/17 Python
Python中常用的内置方法
2019/01/28 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
python程序中的线程操作 concurrent模块使用详解
2019/09/23 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
pycharm下pyqt4安装及环境配置的教程
2020/04/24 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
新手学习Python2和Python3中print不同的用法
2020/06/09 Python
ghd官网:英国ghd直发器品牌
2018/05/04 全球购物
大学生简历的个人自我评价
2013/12/04 职场文书
三严三实对照检查材料
2014/09/22 职场文书
2014年幼儿园工作总结
2014/11/10 职场文书
离婚被告代理词
2015/05/23 职场文书
市场营销计划书
2019/04/24 职场文书
Vue全局事件总线你了解吗
2022/02/24 Vue.js