当前位置:首页 > 短网址资讯 > 正文内容

思路清奇:通过 JavaScript 获取移动设备的型号

www.ft12.com9年前 (2017-07-14)短网址资讯2471

我们一般在浏览器里识别用户的访问设备都是通过 User Agent 这个字段来获取的,但是通过它我们只能获取一个大概的信息,比如你用的是 Mac 还是 Windows,用的是 iPhone 还是 iPad。如果我想知道你用的是第几代 iPhone,这个方法就不行了,前段时间我正好有这个需求,识别移动客户端的具体型号(主要是 iOS 设备),于是思考了下这个问题的实现。

首先,我跟大家一样想到了 UA,不过事实证明这路走不通。就在我无聊一个一个摆弄浏览器的 API 时,突然一篇文章里的某段代码提醒了了我。这篇文章讲的是怎样通过 js 获取图形设备信息的,因为 HTML5 支持了 canvas,所以可以通过 API 获取图形设备的型号,比如显卡的型号。

(function () {
    var canvas = document.createElement('canvas'),
        gl = canvas.getContext('experimental-webgl'),
        debugInfo = gl.getExtension('WEBGL_debug_renderer_info');

    console.log(gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL));})();

运行这段代码就可以获取显卡的型号了,如果你在iOS的设备里运行,会获取到诸如 Apple A9 GPU 之类的信息。而我们知道每一代 iOS 设备的 GPU 型号都是不同的,比如 iPhone 6 是 A8,而 iPhone 6s 就是 A9。看到这里,你应该大概知道我的思路了,就是通过识别 GPU 的型号来辨别设备的型号。

不过这还有个小瑕疵,有些设备是同一代,也就是 GPU 型号完全相同,比如 iPhone 6s, iPhone 6s Plus, iPhone SE。它们用的都是 Apple A9 GPU,怎么区分开它们呢?你会发现它们最大的不同不就是分辨率不同吗?而通过 JavaScript 我们又可以方便地获取屏幕分辨率,这样把两个手段综合应用一下就可以获取设备的准确型号了。

这里有个示例网址,大家可以用手机访问
https://joyqi.github.io/mobile-device-js/example.html

我的代码都放在了 GitHub 上
https://github.com/joyqi/mobile-device-js

这次思考给了我一些解决问题的启发,我们在思考解决方案的时候从侧面入手说不定会有新的发现。就比如我们的这个代码,目前还无法识别同一代的 iPad Air 和 iPad mini,因为它们的 GPU 和分辨率均相同,但是延续这个思路其实是有很多解决方案的,比如大家可以研究下这两个设备的话筒和喇叭个数,而这个数量也是可以通过 JS 获取的 :P

FT12短网址也是通过这个方法,判断用户的设备,然后根据不同的设备展示不同的短网址页面,从而提高用户体验度

扫描二维码推送至手机访问。

版权声明:本文由短链接发布,如需转载请注明出处。

本文链接:https://www.ft12.com/article_287.html

分享给朋友:

相关文章

这个世界正在把我们变得越来越懒

这个世界正在把我们变得越来越懒

前阵子,看到一段很有趣的话:健身房靠什么盈利呢?是靠那些办了卡,却从不去健身的人。如果所有办了卡的人都坚持去健身,那健身房早就不堪重负了。同样。出版社靠什么盈利呢?是靠那些买了书、却从来不读的人。如果所有人在买书前,都细细思考,确定一定会去...

子弹短信背后,亿级架构IM平台的技术难点解析

老罗在今年8月份发布了子弹短信在锤子,之后关于它的讨论不绝于耳,7 天融资 1.5 亿的传闻更是将它推到了风口浪尖。FT12短网址的小编也是第一时间下载并进行了试用。同时很多技术人开始分析它的代码,挖出了它的 IM 系统其实不是自研,而是使...

共享充电宝悄然兴起,电池革命何时才能到来?

共享经济风靡资本市场,从共享单车以后,共享篮球、共享雨伞、共享充电宝等各种花式同享项目如星星之火,呈燎原之势,而万达公子王思聪与聚美优品总裁陈欧一场对于“翔”的口水战,却让同享充电宝脱颖而出,变成同享圈中的“网红”。就在前几日,陈欧表示未来...

腾讯正式提交分拆阅文股份的协议,采取独立方式在港IPO

腾讯正式提交分拆阅文股份的协议,采取独立方式在港IPO

[ FT12短网址资讯 ] 腾讯拟通过以阅文股份于联交所独立上市的方法分拆阅文,分拆完成后,腾讯间接持有的股权仍不低于50%,阅文仍为腾讯的隶属公司。昨天晚间,腾讯控股发布公告称,拟通过以阅文股份于联交所主办独立上市的方...

原创保护之后自媒体们该何去何从?

原创保护之后自媒体们该何去何从?

自媒体平台兴起 内容创作者春天来临2016年可谓是自媒体平台发展元年,而2017年将成为自媒体平台爆发年,群雄纷争,一场无硝烟的战争一触即发。伴随着BAT等互联网巨头纷纷涌入自媒体平台之争,同时各自号称将出资10亿、20亿甚至100亿元刺激...

网站防御cc攻击的方法和突破技巧!

最近FT12短网址经常遭到CC攻击,早在前两个月的时间,我的短链接遭到CC攻击,大概流量在7G左右,7G的CC流量攻击算是非常大的了,那么我们如何防御CC攻击呢,另外CC攻击又是怎么一回事呢?CC攻击是什么CC攻击是通过大量的IP同时访问一...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。