
前端识别ARM和x86架构的机制
现代浏览器不再隐藏系统架构信息,而是直接提供相关数据。因此,我们可以利用浏览器API来判断用户设备的架构类型(ARM或x86)。
JavaScript代码实现
最有效的方法是使用navigator.userAgentData.getHighEntropyValues()方法,该方法可以获取设备的高熵信息,包括架构和位数。以下是一个JavaScript代码示例:
立即学习“Java免费学习笔记(深入)”;
navigator.userAgentData.getHighEntropyValues(["architecture", "bitness"])
.then(ua => {
if (navigator.userAgentData.platform === "Windows") { //仅限Windows系统
if (ua.architecture === "x86") {
console.log(ua.bitness === "64" ? "x86_64" : "x86");
} else if (ua.architecture === "arm") {
console.log(ua.bitness === "64" ? "arm64" : "arm32");
}
} else {
console.log("非Windows系统");
}
});
另外,navigator.userAgent属性也包含架构信息,但信息不如navigator.userAgentData全面:
console.log(navigator.userAgent);
浏览器API参考文档
更多关于navigator.userAgentData和navigator.userAgent API的细节,请参考以下文档:










