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


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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲黄色片免费看| 日韩免费的视频在线观看香蕉| 1000部禁片黄的免费看| 亚洲va国产va天堂va久久| 大妹子影视剧在线观看全集免费| 亚洲国产aⅴ综合网| 一区二区三区免费电影| 亚洲国产精品毛片av不卡在线| 日本在线观看免费高清| 亚洲一区二区三区在线观看精品中文| 一级特黄特色的免费大片视频| 久久久久无码专区亚洲av| 中文字幕在线成人免费看| 亚洲精品狼友在线播放| 伊人久久免费视频| 亚洲依依成人精品| 免费被黄网站在观看| 白白色免费在线视频| 亚洲中文字幕不卡无码| 无码av免费网站| 亚洲最大成人网色香蕉| 国产aa免费视频| 中国一级特黄高清免费的大片中国一级黄色片| 中文字幕人成人乱码亚洲电影| 免费无码VA一区二区三区| 亚洲首页国产精品丝袜| 亚洲成A人片在线观看中文| 中国在线观看免费的www| 亚洲春色在线观看| 国产91在线免费| 久草福利资源网站免费| 丁香婷婷亚洲六月综合色| 国产精品无码一区二区三区免费| 中文字幕不卡高清免费| 亚洲成在人线电影天堂色| 国产免费爽爽视频免费可以看| 人体大胆做受免费视频| 亚洲精品mv在线观看| 免费又黄又硬又爽大片| 1区2区3区产品乱码免费| 毛片亚洲AV无码精品国产午夜|