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

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

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

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

分享给朋友:

相关文章

自媒体时代"REO"将完全取代SEO

自媒体时代"REO"将完全取代SEO

咱们大家都知道SEO、SEM、WEO、ASO、ASM,唯独没有未听说过REO。那么问题就来了!啥是REO呢?REO有哪些影响因素呢?笔者写过一篇文章《论百度账号实名认证对百度SEO的影响》,其中提到过REO(引荐引擎优化),尽然讲到REO,...

马云终于食言了,菜鸟网络宣布入股速递易,智能快件箱企业迎来洗牌期

2017年6月8日傍晚,FT12短网址的小编获知,智能快件箱代表公司速递易的母公司成都三泰控股集团股份有限公司(简称:*ST三泰)发布布告称,继中国邮政和复星之后,新增与菜鸟签订开端协作意向书。*ST三泰同时表明,此本买卖触及全资子公司成都...

5年内90%的印度初创企业将面临倒闭 原因是缺乏创新

5年内90%的印度初创企业将面临倒闭 原因是缺乏创新

近年来,印度已经开始被看做“全球第三大的新兴企业生态系统”,但成功的创新却似乎很缺乏。尽管印度初创公司的市场估值在过去4年里实现了大幅攀升,但最近由IBM商业价值研究院(IBV)与牛津经济学研究所(Oxford Economics)联合发布...

使用.net 的短链接源码(短网址)

使用.net 的短链接源码(短网址)

FT12短链接的小编今天分享一篇关于.net语言的短网址源码。短链接大家都不陌生,例如新浪的 t.cn 、京东的 3.cn 、淘宝的 tb.cn 、最后欢迎的www.ft12.com  等等。都已经是家喻户晓的短链接域名。不知道有...

贾跃亭:FF 91已经启动全新生产计划

贾跃亭在其个人公众号称,2017派克峰国际爬山赛落下帷幕。FF首款量产车FF 91以11:25:083的成绩成功完赛,并以23秒的优势,打破了由特斯拉Model S保持的量产电动车型最快纪录。美国著名媒体CNN全程记录FF 91参赛实况,并...

穷游文青的艳遇大戏,都在青旅的墙上......

穷游文青的艳遇大戏,都在青旅的墙上......

前几年出了一部尺度炸裂的旅行公路片《一路向西》,不知道是不是所有西行的路,都是那么艳遇连天。反正娃哥前段时间沿着藏青线各种看天看海住小旅店,发现旅馆的墙,有时候比真正住在里面的人戏还要多。嗯,十七不禁想起了好胖友借给我的那本大冰的书《乖,摸...

发表评论

访客

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