«

通过 JavaScript 实现简单高效的平台检测

蓝优 发布于 阅读:1498 前端


在前端开发中,我们经常需要根据用户使用的设备或操作系统来优化体验。本文将介绍如何用一段简洁的 JavaScript 代码实现前端平台检测功能,识别用户是在 Android、iOS、Windows、macOS 还是 Linux 系统上访问。
核心原理是分析浏览器提供的navigator.userAgent属性,这个属性包含了浏览器类型、操作系统等信息。我们可以通过正则表达式匹配这些信息中的特征字符串,从而判断设备平台。
实现代码:

function getPlatform() {
    // 定义各平台的识别规则
    const PLATFORM_PATTERNS = {
        android: /Android/i,
        ios: /(iPhone|iPad|iPod)/i,
        windows: /Win(?:dows )?(NT|10|11)/i,
        macos: /(Mac OS|Macintosh|MacIntel)/i,
        linux: /(Linux|X11)/i
    };

    // 获取用户代理字符串
    const ua = navigator.userAgent;

    // 优先检查iOS(避免被MacOS误匹配)
    if (PLATFORM_PATTERNS.ios.test(ua)) {
        return 'ios';
    }

    // 顺序匹配其他平台
    return (
        Object.keys(PLATFORM_PATTERNS).find(platform => 
            platform !== 'ios' && PLATFORM_PATTERNS[platform].test(ua)
        ) || 'unknown'
    );
}
console.log(getPlatform());

JavaScript

收到6条评论
avatar
JosephSax 1 天前
我总是关注 你的旅行博客。太棒了学到新知识。 <a href=https://iqvel.com/zh-Hans/a/%E6%99%BA%E5%88%A9/%E5%A4%8D%E6%B4%BB%E8%8A%82%E5%B2%9B>舊曆節慶</a> 精彩的 旅游网站, 加油 保持热情。真心感谢.
回复
avatar
SteveTwesk 2 天前
吸引人的 在线导览, 不要停下 充满灵感。感谢. <a href=https://iqvel.com/zh-Hans/a/%E4%BF%84%E7%BD%97%E6%96%AF/%E9%98%BF%E5%8D%A2%E6%99%AE%E5%8D%A1%E5%85%AC%E5%9B%AD>蛇形湖</a> 能感受到热爱。敬意 心情。
回复
avatar
JosephSax 10 天前
我高度评价, 真实的旅行者分享建议。你的内容 就是 关于这些的。干得好。 <a href=https://iqvel.com/zh-Hans/a/%E4%B8%AD%E5%9B%BD/%E6%99%AE%E9%99%80%E5%B1%B1>南海觀音</a> 棒极了 旅游资源, 请继续 保持节奏。感谢!
回复
avatar
SteveTwesk 10 天前
研究你的文章, 我体会到, 旅行带来灵感。由衷感谢 旅行灵感。 <a href=https://iqvel.com/zh-Hans/a/%E6%B3%B0%E5%9B%BD/%E5%B8%95%E5%84%82%E8%97%8D%E6%AD%B7%E5%8F%B2%E5%85%AC%E5%9C%92>高棉寺群</a> 读起来像小说。敬意 温暖。
回复
avatar
王润泽 5 个月前
怎么什么都没有了
回复
commentator
蓝优 5 个月前
@王润泽:服务器到期了,忘了续费....
回复