记录一段JS识别判断是PC端还是移动手机端(不含PAD之类的),包含华为纯血鸿蒙识别

温馨提示:
本文最后更新于2025年03月09日,若内容或图片失效,请留言反馈。

日常开发记录

const detectDevice=()=>{
    const ua = navigator.userAgent;
    const vendor = navigator.vendor || "";

    // 鸿蒙设备检测
    const isHarmonyOS = [
        /\bHarmonyOS\b/i,
        /\bOpenHarmony\b/i,
        /\bHongMeng Kernel\b/i,
        /HUAWEI-[A-Za-z0-9_-]+/i,
        /\bHMSCore\/(\d+)/i
    ].some(pattern => pattern.test(ua) || pattern.test(vendor));

    if (isHarmonyOS) {
        // 鸿蒙设备类型判断
        const isTablet = /(tablet|pad)/i.test(ua) && !/mobile/i.test(ua);
        const isPC = /(desktop|pc|mouse|keyboard)/i.test(ua);
        return !isPC && !isTablet;
    }

    // 常规设备检测
    return /(android.*mobile|iphone|ipod|windows phone)/i.test(ua) &&
        !/(tablet|ipad|kindle|playbook)/i.test(ua);
};

//return true or false ;是手机端返回true,是PC端返回false

QQ

THE END
点赞
赞赏
分享
收藏

评论

评论列表

抢沙发