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 相关文章推荐
javascript jq 弹出层实例
Aug 25 Javascript
在每个匹配元素的外部插入新元素的方法
Dec 20 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
Jan 14 Javascript
js 判断js函数、变量是否存在的简单示例代码
Mar 04 Javascript
node.js中的fs.writeFile方法使用说明
Dec 14 Javascript
让JavaScript中setTimeout支持链式操作的方法
Jun 19 Javascript
常用原生JS兼容性写法汇总
Apr 27 Javascript
canvas实现图像放大镜
Feb 06 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
Sep 12 Javascript
在vue组件中使用axios的方法
Mar 16 Javascript
jQuery中使用validate插件校验表单功能
May 24 jQuery
前后端常见的几种鉴权方式(小结)
Aug 04 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
php无限极分类实现的两种解决方法
2013/04/28 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
2019/03/01 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
JavaScript 变量命名规则
2009/09/23 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
js浮动图片的动态效果
2013/07/10 Javascript
Javascript基础 函数“重载” 详细介绍
2013/10/25 Javascript
js实现的点击数量加一可操作数据库
2014/05/09 Javascript
js实现左侧网页tab滑动门效果代码
2015/09/06 Javascript
js仿3366小游戏选字游戏
2016/04/14 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
jQuery实现标签页效果实战(4)
2017/02/08 Javascript
angular2模块和共享模块详解
2018/04/08 Javascript
解决Mac安装thrift因bison报错的问题
2018/05/17 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
Python实现的桶排序算法示例
2017/11/29 Python
Django安装配置mysql的方法步骤
2018/10/15 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
python IDLE添加行号显示教程
2020/04/25 Python
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
销售所有的狗狗产品:Dog.com
2016/10/13 全球购物
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
ALDO加拿大官网:加拿大女鞋品牌
2018/12/22 全球购物
斯图尔特·韦茨曼鞋加拿大官网:Stuart Weitzman加拿大
2019/10/13 全球购物
包装类的功能、种类、常用方法
2012/01/27 面试题
初始化了一个没有run()方法的线程类,是否会出错?
2014/03/27 面试题
《再见了,亲人》教学反思
2014/02/26 职场文书
个人评语大全
2014/05/04 职场文书
2015年财务人员个人工作总结
2015/07/27 职场文书
2019年大学生职业生涯规划书最新范文
2019/03/25 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
详解如何在Canvas中添加事件的方法
2021/04/17 Javascript
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
Go中的条件语句Switch示例详解
2021/08/23 Golang