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

如何通过WebBrowser控件将HTML5项目打包生成.exe可执行文件

解决方案

1. 修复路径转义错误

你当前的路径写法在C#中会识别错误:字符串中的\会被当作转义符,路径中的\b会被识别为退格符,导致实际加载的路径和预期不符,无法找到关联的js、png资源,触发src相关报错。
修改代码中的路径写法,使用逐字字符串或者双反斜杠转义:

// 写法1:加@前缀使用逐字字符串,不需要转义反斜杠
this.webBrowser1.Url = new System.Uri(@"J:\Mes Documents\bol9\index.html", System.UriKind.Absolute);
// 写法2:所有反斜杠替换为双反斜杠转义
// this.webBrowser1.Url = new System.Uri("J:\\Mes Documents\\bol9\\index.html", System.UriKind.Absolute);

同时确保Adobe Animate导出的所有.html、.js、.png文件都和index.html放在同一目录下,不要修改导出的文件夹结构,保证html中的相对路径可以正常找到资源。

2. 修复IE内核兼容问题

WinForms自带的WebBrowser控件默认使用IE7兼容内核,不支持Animate导出资源用到的现代JS语法,会触发脚本错误。
优先在你导出的index.html的<head>标签最顶部添加兼容声明,强制使用最高版本IE内核渲染:

<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- 原有head里的其他内容 -->
</head>

同时可以在设置Url的代码前添加一行,禁用脚本错误弹窗:

this.webBrowser1.ScriptErrorsSuppressed = true;

3. 可选:替换为兼容性更好的WebView2控件

IE内核已经停止维护,对于Animate导出的现代web内容兼容性较差,推荐替换为微软官方的WebView2控件,基于Edge Chromium内核,不会有兼容问题:

  • 在Visual Studio的Nuget包管理器中搜索安装Microsoft.Web.WebView2
  • 从工具箱拖入WebView2控件到窗体,使用如下代码加载本地文件:
private async void Form1_Load(object sender, EventArgs e)
{
    await webView21.EnsureCoreWebView2Async();
    webView21.CoreWebView2.Navigate(@"J:\Mes Documents\bol9\index.html");
}

内容的提问来源于stack exchange,提问作者Jean rené

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 12:54:05