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

如何设置Windows系统下的Google Chrome允许运行本地命令、访问本地文件?

Oracle APEX 桌面端调用本地资源解决方案

Chrome原生设置可行性

出于浏览器沙箱安全机制限制,Chrome没有公开的简易设置项允许网页直接访问本地文件系统或执行Windows命令,该限制是浏览器默认的安全防护规则,防止恶意网页非法操作用户本地设备,无法通过简单修改浏览器配置直接放开权限。

可行实现路径

1. Windows自定义URL协议(最优方案,配置成本最低)

该方案无需修改浏览器设置,仅需要给所有桌面端用户的Windows设备一次性导入注册表配置即可实现:

  • 首先自定义专属协议头,例如apexlocal://,在Windows注册表中注册该协议,绑定协议触发时要调用的本地程序
  • 参考注册表配置(保存为.reg文件双击即可导入):
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\apexlocal]
@="URL:ApexLocal Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\apexlocal\shell]

[HKEY_CLASSES_ROOT\apexlocal\shell\open]

[HKEY_CLASSES_ROOT\apexlocal\shell\open\command]
@="\"C:\\Windows\\explorer.exe\" \"%1\""
  • 上述示例配置的协议会调用资源管理器打开指定路径,你可以将程序路径替换为你要启动的任意本地程序,也可以支持传参
  • APEX前端直接通过JS生成对应协议的链接即可,示例代码:
// 打开本地指定Word文件
const openLocalFile = (filePath) => {
  window.location.href = `apexlocal://${filePath}`
}

用户点击触发该函数时,Chrome会自动弹出确认弹窗,确认后即可触发本地程序启动。

2. Chrome扩展+本地代理服务方案

如果不希望修改系统注册表,可以通过定制Chrome扩展实现:

  • 开发轻量Chrome扩展,使用扩展的nativeMessaging API和本地部署的小程序通信
  • 本地用户设备部署一个极简的后台服务(可通过Python/Go开发,配置开机自启),负责接收扩展转发的指令,执行打开本地文件、启动程序的操作
  • 该方案需要给所有桌面端用户安装指定扩展和本地服务,配置成本高于自定义URL协议方案。

3. 替代浏览器/封装方案

如果Chrome方案不符合要求,可以选择以下实现路径:

  • 微软Edge IE模式:将APEX站点加入IE模式可信站点列表,降低安全级别后可通过ActiveX控件调用WScript.Shell执行本地命令,安全性较低
  • Electron套壳封装:将你的APEX应用封装为Electron桌面安装包,直接调用Electron的Node.js API操作本地资源,用户无需浏览器访问,直接使用桌面端程序即可,体验更流畅,适合固定桌面端使用场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:06:01