• <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无码兔费综合| 亚洲国产精品成人AV在线| 国产V亚洲V天堂A无码| 亚洲情侣偷拍精品| 亚洲Av无码专区国产乱码DVD| 亚洲国产成人精品无码一区二区| 亚洲va中文字幕| 国产伦精品一区二区三区免费迷| 亚洲国产综合无码一区| 亚洲av无码专区青青草原| 日韩在线免费看网站| 国产亚洲精品无码成人| 国产成人精品无码免费看| 黄色片在线免费观看| 国产亚洲精品成人AA片新蒲金| 91亚洲国产成人精品下载| 免费国产va在线观看| 免费精品国产日韩热久久| 久久亚洲国产成人影院| 国产成人久久AV免费| 亚洲日本国产乱码va在线观看| 国产一级a毛一级a看免费视频| 成人午夜免费福利| 国产亚洲av片在线观看播放| 久久久久国产免费| 亚洲成A人片在线观看无码不卡| 亚洲视频免费观看| 亚洲VA中文字幕无码一二三区| 每天更新的免费av片在线观看| 亚洲欧美成人av在线观看| 无人在线观看免费高清视频| 亚洲最大免费视频网| 日本不卡在线观看免费v| 中文字幕无码毛片免费看| 亚洲人成网站观看在线播放| 亚洲国产视频一区| 免费人成网站在线播放| 亚洲精品乱码久久久久久蜜桃图片 | 国产免费午夜a无码v视频| 国产一级淫片a免费播放口| 国产V亚洲V天堂A无码|