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

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

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

我们一般在浏览器里识别用户的访问设备都是通过 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短网址的日访问PV终于突破了50万,但其中掺杂着一半喜与一半忧。喜的是自己的短网址站得到了广大用户的认可,忧的是如何处理这么大的流量。期间,服务器分别经历了内存报警、I…

在线教育企业7成亏损,15%濒临倒闭,你如何突围?

在线教育企业7成亏损,15%濒临倒闭,你如何突围?

[ 亿欧导读 ] 四月暮春,又到了一年一度在线教育公司交作业的时期,无论是自己晒成绩,还是第三方机构出评估,我们看到报表里的在线教育行业都是欣欣向荣、前景喜人,但真实情况如何?在线教育市场规模增幅迅猛,2019年将达2692.6亿…

生鲜配送服务的未来在哪?答案可能得从它的过去中寻找

作者:喜汤按:Pique基金创始投资人、综合投资作者Bonnie Foley-Wong在 Quora 回答了“是什么让生鲜食品配送公司真正走向主流?”这一问题。她举了五个因素来回答该问题,最终得出短期内,生鲜食品配送公司可能不会走向主流的结…

公司监督将人类工人变成了真菌

共同的智慧告诉我们,随着时间的推移,科幻小说很快就成为现实。电影Gattica描绘了遗传操作技术进步的世界,使得后代的遗传增强对于谁负担得起是很常见的,就业由遗传概况严格决定,从而减少了“无价值”,即没有遗传改良的人到劳动力市场的二等经济地…

共享单车的横空出世代表中国已走进共享经济时代

共享单车的横空出世代表中国已走进共享经济时代

在我国共享经济中,创业公司已经尝了好几个月甜头了。 也许是甜头太多。共享单车职业摘下第一个苹果,而答应手机用户同享充电宝的公司在最近几周内最少筹资1.5亿美元。 但与此同时,一家创业公司最近宣布,估计今年将在广州同享最少50万把雨伞,而坐落…

2017年哥大毕业典礼演讲之李开复:内心比大脑重要

2017年哥大毕业典礼演讲之李开复:内心比大脑重要

5月15日,创新工场创始人兼CEO、人工智能工程院院长李开复博士作为特邀嘉宾,在纽约哥伦比亚大学工程学院向2017届结业生们宣告了题为《工程师的人工智能银河系周游指南》结业讲演。作为哥大83届结业生,他获益于这所大学年青、活泼、新锐、自在的…

发表评论

访客

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