按文档的说法,Webview2 组件的 Source 属性只能是绝对路径,我现在想把一个 index.html 文件复制到整个 winform 程序的输出目录里,然后希望点击 winform.exe 的时候,里面的 webview 能访问这个 html 文件,该怎么做?
谷歌搜过好多,没找到
还是说必须把这个网页部署到线上?
我现在只能先把 source 设成另外一个地址,然后在 CoreWebView2InitializationCompleted 函数里再重新把 Source 设置成我要的文件地址,导致程序运行后很大,得过两三秒才出现页面
1
darklights 2022-06-29 21:27:10 +08:00 1
没有用过 winform+webview2 ,但有用过 C+++webview2 。
winrt::Windows::Foundation::Uri uri{ GetExecutableDir() }; auto path = std::format(L"{}/Assets/index.html", uri.ToString().c_str()) ; web.view->Navigate(path.c_str()); 简单解释下,先取得 exe 所在的录 C:\path\to\dir 再用 Uri 类转成 file:///C:/path/to/dir/ 再拼接成 file:///C:/path/to/dir/Assets/index.html 传给相应接口 |
2
zxCoder OP |
3
zxCoder OP @darklights 又查了一下解决这里的跨域问题。搞定了,多谢多谢
|
4
ysc3839 2022-06-29 21:59:37 +08:00 via Android
用 SetVirtualHostNameToFolderMapping
|