当前位置:首页 > 短网址资讯

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

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

我们一般在浏览器里识别用户的访问设备都是通过 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

分享给朋友:

相关文章

FT12短网址教你如何利用大数据算法定位网站性能瓶颈(BOSS)

FT12短网址教你如何利用大数据算法定位网站性能瓶颈(BOSS)

FT12短网址资讯:架构师非常关注性能问题,上篇文章中我们介绍了京东的自动化压测体系 ForceBot,这篇文章来自 LinkedIn 的技术博客,介绍如何通过大数据算法来分析调用数据,自动定位性能瓶颈。本文由高可用架构翻译。背景我们 FT…

各大短网址站的对比测评

 目前国内主流的短网址服务提供商主要有新浪的t.cn,百度的dwz.cn,腾讯的url.cn,以及后起之秀985.so, rrd.me, u6.gg, c7.gg, kks.me等等。对于经常使用短网址做营销的人们来说,短网址服务…

O2O进入下半场,百度或携人工智能实现弯道超车?

近日,百度外卖副总裁陈锦晖宣布辞职的消息刷爆了互联网,百度外卖业务要出售给顺丰的消息也时有流出。正如美团CEO王兴所言,国内O2O行业已经进入了“下半场”。随着移动互联网人口红利减退,烧钱竞争所带来的粗放式增长已经告一段落。 实际上在今年第…

“色流”产业十年风云录:40万大军,吸食百亿利润

“色流”产业十年风云录:40万大军,吸食百亿利润

色流群体如蚂蚁一般,跟随着流量蜜罐迁移,经历多个时代的轮回变迁,并分食百亿级别市场……标题:“色流”产业十年风云录:40万大军,吸食百亿利润来源:一本财经,已授权『互联网的一些事』,转载请联系作者。在“流量为王”的时代,流量在某种意义上,就…

解析百雀羚的广告为什么刷爆朋友圈

虽然我们晓得这是一则广告,但是我们还是想要看到最后一刻,这就是好的想法和创意带给我们的吸收力。朋友圈被百雀羚的广告刷屏,继宝马的H5广告之后,这家降生于1931年的企业再次用一种十分新奇的方式火爆了整个朋友圈。虽然我们晓得这是一则广告,但是…

短网址和二维码在共享单车扫码开车上的应用

如果我问大家现在城市和以前的城市最大的变化是什么,估计大部分人会不假思索的想到共享单车。目前共享单车正以不可阻挡之势席卷全国,大街上以及城市的每一个角落正在被ofo、摩拜单车、小鸣单车等等所占领。共享单车这项期初并不被看好的项目,正在逐渐改…

发表评论

访客

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