You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HCI项目开发Chrome Extension:如何获取本地操作系统版本?

解决方案:Chrome扩展获取操作系统版本号

首先明确说:Chrome扩展的沙箱安全机制确实会阻止你直接读取系统文件(比如更新日志),但完全可以获取到操作系统版本号,有两种主流方案,看你的需求来选:

方案1:使用Chrome官方提供的chrome.system.os API(最简单)

这是Chrome为扩展提供的原生API,专门用来获取系统基础信息,不需要额外的本地程序,只需要在扩展的权限里声明即可。

步骤:

  1. 在你的manifest.json中添加权限:
{
  "manifest_version": 3,
  // ... 其他配置项
  "permissions": ["system.os"]
}
  1. 在扩展的JS代码中调用API获取版本:
chrome.system.os.getInfo((info) => {
  console.log("操作系统名称:", info.name);
  console.log("操作系统版本:", info.version);
  // 还能拿到系统架构信息:info.arch
});

这个API返回的版本是Chrome标准化后的格式(比如Windows的10.0.19045、macOS的13.4),足够大部分HCI项目的需求。它支持Chrome 37+,Manifest V2和V3都能正常使用。

方案2:通过Native Messaging获取更详细的系统信息(进阶)

如果你需要更底层的版本细节(比如Windows的内部版本号、Linux发行版的具体分支版本),可以用Native Messaging机制:写一个本地原生程序(比如Python脚本、Windows exe、Shell脚本),让它去读取系统原生信息,再通过Chrome扩展和这个程序通信拿到结果。

不同系统的原生获取命令示例:

  • Windows:通过注册表读取,或执行命令 wmic os get version
  • macOS:终端执行命令 sw_vers -productVersion
  • Linux:终端执行命令 lsb_release -r -s 或 cat /etc/os-release | grep VERSION_ID

这种方法的缺点是需要用户手动安装本地程序,适合特定场景的项目(比如企业内部工具、需要深度系统信息的HCI实验)。

为什么你之前的方法行不通?

Chrome扩展运行在沙箱环境中,没有权限直接访问系统级受保护的文件(比如Windows事件日志、系统目录下的日志文件)——即使你尝试用文件访问类API,也只能读取用户主动选择的文件,无法直接获取系统资源,所以正则提取系统日志的思路确实走不通。

内容的提问来源于stack exchange,提问作者Vincent Chen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:31:26