• <acronym id="eyrpt"></acronym>
    <track id="eyrpt"></track>
    <p id="eyrpt"></p>

      <table id="eyrpt"><ruby id="eyrpt"></ruby></table>
      <table id="eyrpt"></table>

    1. 當前位置:首頁 > 短網址資訊 > 正文內容

      思路清奇:通過 JavaScript 獲取移動設備的型號

      我們一般在瀏覽器里識別用戶的訪問設備都是通過 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短網址也是通過這個方法,判斷用戶的設備,然后根據不同的設備展示不同的短網址頁面,從而提高用戶體驗度

      掃描二維碼推送至手機訪問。

      版權聲明:本文由短鏈接發布,如需轉載請注明出處。

      本文鏈接:http://www.virginiabusinesslawupdate.com/article_287.html

      分享給朋友:

      相關文章

      關于短網址算法的討論和分析

      今天小編無意中在互聯網上看到了關于短網址一些算法,非常新奇,和已有的算法有很大的區別:  1)將長網址md5生成32位簽名串,分為4段, 每段8個字節;  2)對這四段循環處理, 取8個字節, 將他當作16進制串與0x3fffffff(30...

      短網址的今生前世

      短網址的今生前世

      引言  短網址司空見慣,比如說下面這些  http://u6.gg/baidu => http://www.baidu.com,  http://rrd.me/baidu => http:...

      短網址服務運營中遇到的一些難題

      FT12短網址運營已經6年了,從2011年的某一天開始到今天2018年8月15日。在這么多的日日夜夜中,我們力爭保證所有用戶的短網址能穩定、快速、有效,這對于一個幾千萬級別的數據庫來說真的不是一件很簡單的事情。大概在2012年,短網址運營一...

      三境三品三味藥(作文升格指導與實例訓練)

      3.閱讀下面文字,按照要求,寫一篇不少于800字文章(60分)(2017年浙江卷作文仿寫)有位作家說:人要讀三本大書,一本是“有字之書”,一本是“無字之書”,一本“心靈之書”。對此你有怎樣的思考?請對作家的觀點加以評說。自擬題目,寫一篇80...

      生成的短鏈接的后面幾位字母忘了怎么辦?

       在短鏈接的日常使用中,經常會發生一件很尷尬的事情:當你想要打開一個自己以前生成的短連接的時候,發現最后幾位字母忘了,特別是短連接最后幾位還是區分大小的。如果大小寫記不清楚,仍然無法打開正確的網址。那么這個時候該怎么辦呢?小編這里...

      快遞利潤即將觸底,行業何去何從?

      快遞利潤即將觸底,行業何去何從?

      [ FT12短網址] 隨著電子商務的快速發展,快遞行業每年的規模也成指數一樣爆發,可是社會現狀的改變,很顯然快遞企業正在遇到更大的壓力,比較重要的是整個行業利潤的下滑以及新一代農民工的崛起?!度毡窘洕侣劇?月24日文章,隨著電子商務在華迅...

      發表評論

      訪客

      ◎歡迎參與討論,請在這里發表您的看法和觀點。
      一本色综合网久久
    2. <acronym id="eyrpt"></acronym>
      <track id="eyrpt"></track>
      <p id="eyrpt"></p>

        <table id="eyrpt"><ruby id="eyrpt"></ruby></table>
        <table id="eyrpt"></table>