• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 蘋果教程教程 > 詳細頁面

        JavaScript 判斷iPhone X Series機型的辦法_javascript技巧

        JavaScript 判斷iPhone X Series機型的辦法_javascript技巧

        更新時間:2024-04-09 文章作者:未知 信息來源:網絡 閱讀次數:

        寫在前面如果有更優雅的方式,一定要告訴我!現狀iPhone X 底部是需要預留 34px 的安全距離,需要在代碼中進行兼容。現狀對于 iPhone X 的判斷基本是這樣的:// h5export c...

        寫在前面

        如果有更優雅的方式,一定要告訴我!

        現狀

        iPhone X 底部是需要預留 34px 的安全距離,需要在代碼中進行兼容。

        現狀對于 iPhone X 的判斷基本是這樣的:

        // h5
        export const isIphonex = () => /iphone/gi.test(navigator.userAgent) && window.screen && (window.screen.height === 812 && window.screen.width === 375);
        

        這在之前是沒問題的,新的 iPhone X Series 設備發布之后,這個就會兼容就有問題。

        iPhone X Series 參數

        機型 倍率 分辨率 pt
        iPhone X 3 2436 × 1125 812 × 375
        iPhone XS 3 2436 × 1125 812 × 375
        iPhone XS Max 3 2688 × 1242 896 × 414
        iPhone XR 2 1792 × 828 896 × 414

        width === 375 && height === 812 只能識別出 iPhone X 和 iPhone XS,對于 iPhone XS Max 和 iPhone XR 就無能為力了。

        解決方法

        對每個機型進行判斷

        const isIphonex = () => {
         // X XS, XS Max, XR
         const xSeriesConfig = [
         {
          devicePixelRatio: 3,
          width: 375,
          height: 812,
         },
         {
          devicePixelRatio: 3,
          width: 414,
          height: 896,
         },
         {
          devicePixelRatio: 2,
          width: 414,
          height: 896,
         },
         ];
         // h5
         if (typeof window !== 'undefined' && window) {
         const isIOS = /iphone/gi.test(window.navigator.userAgent);
         if (!isIOS) return false;
         const { devicePixelRatio, screen } = window;
         const { width, height } = screen;
         return xSeriesConfig.some(item => item.devicePixelRatio === devicePixelRatio && item.width === width && item.height === height);
         }
         return false;
        }
        

        統一處理方法

        因為現在 iPhone 在 iPhone X 之后的機型都需要適配,所以可以對 X 以后的機型統一處理,我們可以認為這系列手機的特征是 ios + 長臉。

        在 H5 上可以簡單處理。

        const isIphonex = () => {
         if (typeof window !== 'undefined' && window) {
         return /iphone/gi.test(window.navigator.userAgent) && window.screen.height >= 812;
         }
         return false;
        };
        

        媒體查詢

        @media only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) {
        }
        @media only screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) {
        }
        @media only screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) {
        }
        

        媒體查詢無法識別是不是 iOS,還得加一層 JS 判斷,否則可能會誤判一些安卓機。

        以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。

        您可能感興趣的文章:
        • 解析JavaScript的ES6版本中的解構賦值
        • 談談為什么你的 JavaScript 代碼如此冗長
        • JavaScript中的回調函數實例講解
        • JavaScript變量提升和嚴格模式實例分析
        • JavaScript私有變量實例詳解
        • 使用javascript做時間倒數讀秒功能的實例
        • javascript json字符串到json對象轉義問題
        • 使用JavaScript保存文本文件到本地的兩種方法
        • JavaScript中的"=、==、==="區別講解
        • JavaScript之解構賦值的理解


        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 中文字幕无码毛片免费看| 亚欧洲精品在线视频免费观看| 午夜免费福利视频| 亚洲国产精品高清久久久| 一级有奶水毛片免费看| 亚洲真人日本在线| 国产精品偷伦视频免费观看了| 亚洲av片一区二区三区| 深夜免费在线视频| 久久精品国产精品亚洲人人| 一区二区3区免费视频| 亚洲男人在线无码视频| 国产在线观看xxxx免费| 亚洲中文字幕无码不卡电影| 国内精品99亚洲免费高清| 亚洲AV无码久久精品色欲| 99久久人妻精品免费一区| 亚洲一区中文字幕| 亚洲国产激情一区二区三区| 精品久久久久亚洲| 久久乐国产精品亚洲综合| 日本在线免费播放| 亚洲三级在线免费观看| 岛国片在线免费观看| 免费人妻精品一区二区三区| 亚洲色精品vr一区二区三区| 久久综合给合久久国产免费| 国产成人精品日本亚洲11| 国产jizzjizz视频全部免费| 久久久久国色AV免费观看| 亚洲AV日韩AV鸥美在线观看| 最近中文字幕无吗高清免费视频| 无码天堂亚洲国产AV| 国产av天堂亚洲国产av天堂| 91精品国产免费久久久久久青草| 亚洲欧美在线x视频| 亚洲人成网7777777国产| 在线看片v免费观看视频777| 国产亚洲视频在线观看网址| 久久精品国产精品亚洲蜜月| 日韩吃奶摸下AA片免费观看|