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


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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 国产精品无码免费播放| yellow视频免费看| 毛片免费全部播放无码| 亚洲一卡2卡三卡4卡有限公司| 黄色视频在线免费观看| 亚洲精品动漫人成3d在线| 香蕉视频免费在线播放| 亚洲免费日韩无码系列| h片在线播放免费高清| 亚洲熟妇av一区二区三区漫画| 亚欧洲精品在线视频免费观看| 中文字幕日韩亚洲| 两个人看的www免费视频| 亚洲AV无码成人专区片在线观看 | 国产99视频免费精品是看6| 亚洲av午夜国产精品无码中文字| 永久久久免费浮力影院| 阿v免费在线观看| 亚洲女同成av人片在线观看| 99视频免费在线观看| 亚洲国产成人久久综合一 | 亚洲国产精品嫩草影院在线观看| 最近免费mv在线观看动漫| 久久精品国产精品亚洲色婷婷| 222www免费视频| 亚洲精品美女久久7777777| 亚洲国产高清精品线久久| 成人毛片100免费观看| 亚洲欧洲日本精品| 热99re久久免费视精品频软件| 一区二区三区AV高清免费波多| 亚洲av综合av一区| 日本一区二区三区免费高清| 免费一区二区无码视频在线播放| 午夜亚洲www湿好大| 日韩中文无码有码免费视频| 久久av免费天堂小草播放| 亚洲成电影在线观看青青| 国产免费资源高清小视频在线观看| 久久性生大片免费观看性| 亚洲成a人片在线观看中文app|