当前位置: 首页 > 知识库问答 >
问题:

javascript - H5页面 怎么判断当前iphone设备的具体型号,想区分是否是带灵动岛14pro及以上的机型?

苏弘盛
2024-11-04

H5页面 怎么判断当前iphone设备的具体型号,想区分是否是带灵动岛14pro及以上的机型?
现在可以判断出是否是iphone 设备,但无法判断是否是14pro 以上的机型?想区分是否是带灵动岛14pro及以上的机型?应该怎么写?

function isiPhone() {
    // 检查是否为iOS设备
    const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);

    // 检查是否为iPhone
    const isiPhone = isIOS && /iPhone/i.test(navigator.userAgent);


    return isiPhone;
}

共有2个答案

冯祺
2024-11-04

如果是怕被 灵动岛 遮挡的话,可以使用 env() 来获取安全区信息给不同的机型做适配。
�� 移动端安全区域适配方案 - 南玖的前端blog

如果是单独想给灵动岛设备做一些特殊的业务处理,想用 navigator.userAgent 来获取设备信息就不行了,我这边看有灵动岛机型的 user-agent 信息是没看到有可以识别的特殊标识符。用 iOS 版本来判断是不合适的。
社区里面实现都是通过 user-agent 搭配 devicePixelRatio 和 屏幕分辨率来判断不同的 iPhone 机型。当然这样也很麻烦。

巫墨一
2024-11-04

我在你原来的基础上重新写了个isIPhone14ProOrAbove方法

function isiPhone() {
    // 检查是否为iOS设备
    const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);

    // 检查是否为iPhone
    const isiPhone = isIOS && /iPhone/i.test(navigator.userAgent);

    return isiPhone;
}

function isIPhone14ProOrAbove() {
    if (!isiPhone()) {
        return false;
    }

    const screenWidth = window.screen.width;
    const screenHeight = window.screen.height;
    const devicePixelRatio = window.devicePixelRatio;

    // 检查是否为灵动岛特征
    const hasDynamicIsland = screenWidth >= 430 && screenHeight >= 932 && devicePixelRatio >= 3;

    return hasDynamicIsland;
}

if (isIPhone14ProOrAbove()) {
    console.log('This is an iPhone 14 Pro or above with Dynamic Island.');
} else {
    console.log('This is not an iPhone 14 Pro or above.');
}
 类似资料:
  • 本文向大家介绍js判断是否是手机页面,包括了js判断是否是手机页面的使用技巧和注意事项,需要的朋友参考一下 话不多说,请看代码: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • 本文向大家介绍jquery判断iPhone、Android设备类型,包括了jquery判断iPhone、Android设备类型的使用技巧和注意事项,需要的朋友参考一下 最近做了一版微信宣传页,通过JQ来判断设备,并进行下载  微信内置浏览器对下载链接进行了屏蔽,所以先进行判断,如果是微信内置浏览器,则跳转应用宝链接,如果不是,则判断是iPhone/Adroid/PC 并进行跳转  代码如下: 以上

  • 问题内容: 有没有办法在Swift中获取设备型号名称(iPhone 4S,iPhone 5,iPhone 5S等)? 我知道有一个名为的属性,但它仅返回设备类型(iPod touch,iPhone,iPad,iPhone Simulator等)。 我也知道使用此方法可以轻松在Objective-C中完成: 但是我正在用Swift开发我的iPhone应用程序,所以有人可以帮我用等效的方法来解决这个问

  • 本文向大家介绍javaweb判断当前请求是否为移动设备访问的方法,包括了javaweb判断当前请求是否为移动设备访问的方法的使用技巧和注意事项,需要的朋友参考一下 这段时间都是在做pc端的业务,结果经理找到我说,可能要做移动端的应用,后台逻辑还是用我写的逻辑,但是需要改动一些,看看怎么处理。 由于移动端和pc端还是稍微有些区别的,我觉得最好是在一个地儿统一判断,而且不要改动原先的代码,这样可以从一

  • 怎么判断一个数组是否是以下数据结构,并且判断这些字段名都得存在,可以多但是以下字段必须存在 希望得到结果

  • cmf_is_iphone() 5.0.180626增加 功能 判断是否为iphone访问 参数 无 返回 boolean

  • 本文向大家介绍怎么判断对象是否可以被回收?相关面试题,主要包含被问及怎么判断对象是否可以被回收?时的应答技巧和注意事项,需要的朋友参考一下 一般有两种方法来判断: 引用计数器:为每个对象创建一个引用计数,有对象引用时计数器 +1,引用被释放时计数 -1,当计数器为 0 时就可以被回收。它有一个缺点不能解决循环引用的问题; 可达性分析:从 GC Roots 开始向下搜索,搜索所走过的路径称为引用链。

  • 本文向大家介绍html5怎么判断app是否安装?相关面试题,主要包含被问及html5怎么判断app是否安装?时的应答技巧和注意事项,需要的朋友参考一下 例如,打开微信 是用了微信自己的 wechat://xxxx 这样类似http/https的协议,来打开。支付宝是alipay,其他的应用都有不同的自己的协议头,通过这样的链接来唤醒APP。如果打不开就能判断是否安装该APP