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

 更新时间:2014年08月19日 17:27:49   投稿:whsnow  
扫描二维码之后自动分辨出是android还是ios系统,因此就要用JS辨别访问浏览器针对于不同的系统进行不同的下载,需要的朋友可以参考下

项目中需要扫描二维码之后自动分辨出是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>

相关文章

  • 前端必会的图片懒加载(三种方式)

    前端必会的图片懒加载(三种方式)

    在我们访问一个图片展示比较多的网页时,加载速度慢很多时候正是因为图片多导致,本文主要介绍了前端必会的图片懒加载(三种方式),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • javascript中的altKey 和 Event属性大全

    javascript中的altKey 和 Event属性大全

    本文给大家介绍javascript中的altkey和event属性大全,涉及到altkey和event属性语法定义及用法,本文介绍的非常详细,感兴趣的朋友一起看看吧
    2015-11-11
  • DOM操作原生js 的bug,使用jQuery 可以消除的解决方法

    DOM操作原生js 的bug,使用jQuery 可以消除的解决方法

    下面小编就为大家带来一篇DOM操作原生js 的bug,使用jQuery 可以消除的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • javascript中slice(),splice(),split(),substring(),substr()使用方法

    javascript中slice(),splice(),split(),substring(),substr()使用方法

    这篇文章主要介绍了javascript中slice(),splice(),split(),substring(),substr()使用方法,需要的朋友可以参考下
    2015-03-03
  • javascript trim 去空格函数实现代码

    javascript trim 去空格函数实现代码

    去除字符串左右两端的空格,在vbscript里面可以轻松地使用 trim、ltrim 或 rtrim,但在js中却没有这3个内置方法,需要手工编写。下面的实现方法是用到了正则表达式,效率不错,并把这三个方法加入String对象的内置方法中去。
    2008-10-10
  • Bootstrap.css与layDate日期选择样式起冲突的解决办法

    Bootstrap.css与layDate日期选择样式起冲突的解决办法

    这篇文章主要为大家详细介绍了BootStrap.css与layDate日期选择样式起冲突的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • javascript中的__defineGetter__和__defineSetter__介绍

    javascript中的__defineGetter__和__defineSetter__介绍

    这篇文章主要介绍了javascript中的__defineGetter__和__defineSetter__介绍,类似面向对象语言中的get和set关键字,需要的朋友可以参考下
    2014-08-08
  • 动态的9*9乘法表效果的实现代码

    动态的9*9乘法表效果的实现代码

    下面小编就为大家带来一篇动态的9*9乘法表效果的实现代码。小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧
    2016-05-05
  • 第一次接触神奇的Bootstrap表单

    第一次接触神奇的Bootstrap表单

    第一次接触神奇的Bootstrap表单,Bootstrap让Web开发更迅速、更简单,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • js前端面试之同步与异步问题详解

    js前端面试之同步与异步问题详解

    这篇文章主要给大家介绍了关于js前端面试之同步与异步问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04

最新评论