由于安全考虑,网页应用程序与本地软件权限之间存在显著差异。本地软件,如CS软件,在安装过程中已获得用户授权,可以访问特定的硬件信息。但浏览器环境不同,它连接各种网站,无法预设信任关系。浏览器不能为用户承担网站恶意行为造成的任何损失。
早期,IE的ActiveX控制器权限太大,几乎相当于操作系统权限。虽然IE有限制,但阈值太低。许多银行网上银行需要用户安装认证控制器,操作简单,但风险也增加了。用户只能被动地信任银行控制器的安全性。大公司通常可以确保安全,但小网站很难确保。一旦发生安全事故,用户可能会将责任归咎于浏览器。
如今,JavaScript API权限有限公开,主要改善用户体验,如File System API、Web Bluetooth API、WebUSB API等。这些接口不是为了满足所有硬件访问的需要。
如需获取硬件信息,可考虑以下方法:
立即学习“Java免费学习笔记(深入);
- 将Electron框架打包成独立应用,具有更高的权限。
- 开发本地C端软件,建立HTTP服务,提供所需的硬件信息,并将其设置为自启动,然后通过JS接口要求数据。
总之,JavaScript出于安全考虑而不是技术限制,无法直接访问硬件信息。 浏览器需要保护用户免受恶意网站的侵害。
这就是为什么JavaScript不能直接访问用户电脑的硬件信息?详情请关注图灵教育的其他相关文章!
