【发布时间】:2021-10-08 00:01:00
【问题描述】:
我正在让 WPF 应用程序使用 WebView2。
将有一个安装程序,它将 WPF 应用程序安装在一个文件夹中,还将下载网站并将其写入安装目录的子文件夹中。比如这样:
Installation Directory
├───Website
│ ├───index.css
│ └───index.html
└───WPF Self Contained EXE
WebView2 将使用这个(我认为)加载网站:webView.CoreWebView2.Navigate(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Website");
这应该加载index.html 以及它引用的所有文件,例如index.css。
现在我主要关心的是如何从 C# 调用 JavaScript 函数。到目前为止,在谷歌搜索之后,我只找到了 WebView1 的方法。而且我找不到任何关于从 JavaScript 调用 C# 方法的信息。
所以三件事:
-
webView.CoreWebView2.Navigate(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Website");是否适合从本地文件夹加载网站? - 如何调用 JavaScript 函数并将 C# 对象从 C# 方法传递给它。
- 如何从 JavaScript 脚本调用 C# 函数?
这可能吗?
谢谢。
【问题讨论】:
-
以下内容应该可以帮助您入门:stackoverflow.com/questions/68578936/…、stackoverflow.com/questions/65452473/… 和 stackoverflow.com/questions/68350635/…。但是,与其将文件(.html 和 .css)存储为嵌入式资源(如那些帖子中所示),不如将它们作为文件存储在磁盘上 - 正如您已经计划的那样。
-
谢谢!这有帮助!我认为将文件存储在磁盘上会使更新速度更快,因为它们可能会比实际应用程序更新得更快......再次感谢!
-
以下内容可能对如何从 JavaScript 调用 C# 函数有所帮助:github.com/MicrosoftEdge/WebView2Feedback/issues/335
标签: javascript c# wpf function webview2