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

NeutralinoJS应用如何打开本地资源目录下的HTML文件到系统浏览器

解决Neutralino应用打开本地HTML文件到系统浏览器的方案

原方案失败原因

  • 第一种相对路径调用失败是因为Neutralino.app.open直接调用系统默认程序,相对路径没有上下文锚点,系统无法定位文件位置
  • 第二种方案错误点有两个:一是拼接了http://协议,本地静态文件应该使用file://协议;二是通过执行CD命令获取路径是Windows独有的写法,不支持跨平台,且容易出现换行、空格等字符串污染问题

正确实现方案

Neutralino启动时会自动注入全局路径变量,不需要自行执行系统命令获取资源地址,直接使用以下代码即可实现需求:

window.myApp = {
  openDocumentation: async () => {
    // NL_RESOURCES_PATH是Neutralino内置全局变量,直接对应config.json配置的resources目录绝对路径
    const docPath = `${NL_RESOURCES_PATH}/help/help.html`.replace(/\\/g, '/')
    // 使用file协议包裹路径,调用系统默认浏览器打开
    await Neutralino.app.open({
      url: `file:///${docPath}`
    })
  }
}

如果需要在应用内打开新窗口而非系统浏览器,直接使用Web原生方法即可:

window.open('/help/help.html', '_blank', 'width=800,height=600')

注意事项

  • 确保help文件夹确实存放在项目的resources根目录下
  • 打包后出现文件找不到问题时,检查neutralino.config.json中的cli.resources.include配置项,确保已经添加help/**规则,避免打包时遗漏文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 08:57:02