• <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之解構賦值的理解


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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 在线观看亚洲精品专区| 亚洲精品美女久久777777| 亚洲av产在线精品亚洲第一站| 香蕉免费看一区二区三区| 亚洲欧洲国产成人综合在线观看| 狼人大香伊蕉国产WWW亚洲| 国产精品冒白浆免费视频| 亚洲精华国产精华精华液好用| 毛片免费在线视频| 亚洲一区二区三区丝袜| 四虎www免费人成| 亚洲日韩av无码中文| 国产成人免费a在线资源| 白白色免费在线视频| 亚洲国产精品一区二区第四页| 国产黄在线播放免费观看| 亚洲无线码在线一区观看 | 久久久久se色偷偷亚洲精品av| 在线看片无码永久免费视频| 亚洲精品天堂在线观看| 国产精品自在自线免费观看| 国产精品亚洲一区二区无码| 国产综合精品久久亚洲| 国产白丝无码免费视频| 亚洲黄页网在线观看| 国产乱子伦片免费观看中字| aaa毛片免费观看| 亚洲日本在线播放| 在线日韩av永久免费观看| 亚洲精品国产日韩无码AV永久免费网 | 亚洲熟妇丰满多毛XXXX| 18禁无遮挡无码国产免费网站| 国产亚洲精品bv在线观看| 亚洲Av无码乱码在线观看性色| 国产麻豆一精品一AV一免费| 亚洲三级在线视频| 国产亚洲精品看片在线观看| 114一级毛片免费| 日韩在线观看视频免费| 亚洲福利电影一区二区?| 免费a级毛片在线观看|