使用navigator对象信息对浏览器进行判断
2016-01-03 21:55
399 查看
[code] 刚刚完成的一个公司小项目中有这样一个需求,需要根据用户所使用的平台(iOS、Android、微信)进行不同的链接跳转。这个地方使用了javascript的navigator对象进行判断。 navigator为Window对象的一个属性,指向了一个包含浏览器相关信息的对象。 navigatot中包含了一些常用到的属性,如: navigator.appVersion 浏览器的版本号 navigator.appName 浏览器的名称 navigator.language 浏览器使用的语言 navigator.platform 浏览器使用的平台 navigator.userAgent 浏览器的user-agent信息
以下就是我的浏览器的相关信息:
我们主要通过userAgent来进行浏览器的判断(但这并不是一个好的方法,不同的浏览器的userAgent不尽相同,不能保证准确的判断)。
不过user-agent这串字符串信息的历史很有意思,感兴趣的话可以参考这两篇文章:
http://article.yeeyan.org/view/heart5/19211
http://www.kuqin.com/shuoit/20150312/345160.html
好了,言归正传,我们是怎样进行判断的呢?其实很简单,主要通过user-agent字符串中的相关字段来进行判断,代码如下:
[code]// ios设备 var isiOS = navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone') || navigator.userAgent.match('iPod'); // 安卓设备 var isAndroid = navigator.userAgent.match('Android'); // 微信内置浏览器 var isWeChat = navigator.userAgent.match('MicroMessenger');
OK!目前就是通过上面的方法进行判断的,如果你有更好的方法请留言告诉我哦~~~~
参考文章:
1.廖雪峰的Javascript全栈教程
http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499832124d97d77b00706461f9daf1a390b75ade1000
2.http://javascript.ruanyifeng.com/bom/window.html#toc6
相关文章推荐
- javax.el.PropertyNotFoundException错误
- 测试分析-场景分析法
- iOS多线程入门
- 数据库第四章理论总结
- LInux 中的i386,i486,i586,i686和AMD_64,X86,x86_64后缀的区别
- adb shell ,出错 提示error: device not found
- hdoj4047Pet【dfs】
- 阿里巴巴合伙人制度&阿里巴巴现任合伙人一览表
- 2016年展望
- eatwhatApp开发实战(七)
- z-index离奇事件及应对之策
- Emacs常用命令记录at Mac
- 关于拨开信息的迷局
- 数据库总结4
- UICollectionView
- 不相交集ADT
- 饭一口一口吃,路一步一步走
- linux中的各种计算方式expr|bc|dc|let
- MVC项目中如何用JS导出EasyUI DataGrid为Excel
- Python copy a list