摘要:看到這里,你應該大概知道我的思路了,就是通過識別的型號來辨別設備的型號。不過這還有個小瑕疵,有些設備是同一代,也就是型號完全相同,比如。
我們一般在瀏覽器里識別用戶的訪問設備都是通過 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/mobil...
我的代碼都放在了 GitHub 上
https://github.com/joyqi/mobi...
這次思考給了我一些解決問題的啟發,我們在思考解決方案的時候從側面入手說不定會有新的發現。就比如我們的這個代碼,目前還無法識別同一代的 iPad Air 和 iPad mini,因為它們的 GPU 和分辨率均相同,但是延續這個思路其實是有很多解決方案的,比如大家可以研究下這兩個設備的話筒和喇叭個數,而這個數量也是可以通過 JS 獲取的 :P
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/87097.html
摘要:前端日報精選餓了么的升級實踐專題之深淺拷貝思路清奇通過獲取移動設備的型號正則表達式完整教程略長掘金中的關鍵詞中文第期字號與行高譯任何網站都可以成為漸進式網絡應用但我們需要做的更好掘金年學習最好的書籍眾成翻譯行代碼實現模板引擎 2017-07-13 前端日報 精選 餓了么的PWA升級實踐JavaScript專題之深淺拷貝思路清奇:通過 JavaScript 獲取移動設備的型號 - Seg...
摘要:說到這,英特爾下一批比當前更高端的和將會在今年最后一個季度出貨,主攻高性能平板電腦和上網本市場。過去,英特爾一直為智能手機和平板電腦廠商提供芯片,通過聯合營銷的方式獲取利潤。不得不承認,英特爾的移動戰略失敗了,或許是沒有照顧好而錯失了機會?! √岬接⑻貭?,在PC處理器行業幾乎無人不知,但是在移動市場努力多年卻無法達到同樣的水平。長期以來,英特爾只能通過幾款基于自家Atom處理器和調制解調器的...
摘要:第一天下來的感覺就是高大上,組織者高大上,贊助商們谷歌,,微軟,,,,,等高大上,更高大上就是會議地點舊金山,美的讓人樂不思京霾了。強力推薦來自的,原因是在舊金山聽了場精彩絕倫的相聲,由和共同完成,不分捧逗。 SRECon17 第一天下來的感覺就是高大上, 組織者 USENIX ( Advanced Computing Systems Association )高大上,贊助商們(谷歌,...
摘要:第一天下來的感覺就是高大上,組織者高大上,贊助商們谷歌,,微軟,,,,,等高大上,更高大上就是會議地點舊金山,美的讓人樂不思京霾了。強力推薦來自的,原因是在舊金山聽了場精彩絕倫的相聲,由和共同完成,不分捧逗。 SRECon17 第一天下來的感覺就是高大上, 組織者 USENIX ( Advanced Computing Systems Association )高大上,贊助商們(谷歌,...
閱讀 3569·2021-11-15 11:36
閱讀 1060·2021-11-11 16:55
閱讀 694·2021-10-20 13:47
閱讀 2993·2021-09-29 09:35
閱讀 3428·2021-09-08 10:45
閱讀 2553·2019-08-30 15:44
閱讀 848·2019-08-30 11:10
閱讀 1427·2019-08-29 13:43