Hello! 欢迎来到小浪资源网!


JavaScript为何无法获取电脑硬件信息?


JavaScript为何无法获取电脑硬件信息?

浏览器无法获取硬件信息的原因

尽管 JavaScript 在网页开发中功能强大,但它却有一个明显的限制:无法获取用户电脑的硬件信息。这种限制与安全考虑密切相关。

信任问题

当您安装计算机软件时,您本质上是信任该软件。您授权其在受控环境中运行并访问必要的信息。浏览器却存在显着差异。

立即学习Java免费学习笔记(深入)”;

浏览器充当连接到不同网站的窗口,无法代表您信任所有这些网站。同样,它也无法承担因不安全的网站行为而造成的潜在损失。

IE 的教训

曾经,Internet Explorer 的 ActiveX 控件几乎拥有操作系统的所有权限。尽管 IE 设置了限制,但这些限制相对宽松。许多银行使用 ActiveX 控件进行在线网银业务,要求用户手动启用这些控件。

虽然这对于信誉良好的大公司来说是可行的,但对于不明底细的小网站呢?安全性无法得到保证,一旦出现问题,用户只能将责任归咎于浏览器。

逐步开放有限权限

近年来,JavaScript 标准正在逐步开放对某些 API 的访问权限,重点在于增强 Web 使用。例如,文件系统 API、Web Bluetooth API 和 WebUSB API 提供了有用的功能。

然而,这些权限旨在满足合理的网络需求,而不是应对无关或无理的要求。

变通方法

尽管浏览器限制了硬件信息访问,但并非没有变通方法。您可以使用以下方式来获取所需的信息:

  • 构建使用 electron 的桌面应用程序。
  • 编写一个 C 端软件,在本地启用 http 服务并响应硬件信息请求。

相关阅读