通过 JavaScript 实现简单高效的平台检测
在前端开发中,我们经常需要根据用户使用的设备或操作系统来优化体验。本文将介绍如何用一段简洁的 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());收到6条评论
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> 精彩的 旅游网站, 加油 保持热情。真心感谢.
回复
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> 能感受到热爱。敬意 心情。
回复
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> 棒极了 旅游资源, 请继续 保持节奏。感谢!
回复
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> 读起来像小说。敬意 温暖。
回复
王润泽 5 个月前
怎么什么都没有了
回复

蓝优 5 个月前
@王润泽:服务器到期了,忘了续费....
回复