我正在尋找一種方法來用某種 Windows 應用程式包裝我的 Ionic/Angular 應用程式。我正在查看 Electron(并且有問題),但也在調查我是否剛剛創建了自己的 WinUI3 應用程式并使用了 Webview2。
雖然這是 Ionic/Angular,但我認為這適用于任何本地 HTML 檔案。
如果我使用對 HTML 檔案的絕對參考,我可以加載它,例如
MyWebView.CoreWebView2.Navigate("file:///D:/0/www/index.html");
(然后我收到 CORS 錯誤,但我有一個單獨的帖子)
但是,我希望將我的檔案嵌入到應用程式中,例如www在資產下添加一個檔案夾,然后我嘗試MyWebView.CoreWebView2.Navigate("ms-appx-web:///www/index.html");,但出現以下錯誤:
無法啟動“ms-appx-web:///www/index.html”,因為該方案沒有注冊的處理程式。
這是我的示例應用程式:
namespace WinUI3_1
{
/// <summary>
/// An empty window that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainWindow : Window
{
public MainWindow()
{
this.InitializeComponent();
try
{
//MyWebView.Source = new Uri("ms-appx-web:///assets/www/index.html");
Init();
}
catch (Exception ex)
{
int i = 0;
}
}
private async void Init()
{
try
{
await MyWebView.EnsureCoreWebView2Async();
MyWebView.CoreWebView2.Navigate("file:///D:/0/www/index.html");
//MyWebView.CoreWebView2.Navigate("ms-appx-web:///www/index.html");
MyWebView.CoreWebView2.OpenDevToolsWindow();
}
catch (Exception)
{
int i = 0;
}
}
}
}
我在上面嘗試時如何在本地參考檔案?
uj5u.com熱心網友回復:
我找到了一種似乎至少可以加載應用程式的方法。
看看這篇文章和這個檔案,我可以做以下事情......
await MyWebView.EnsureCoreWebView2Async();
MyWebView.CoreWebView2.SetVirtualHostNameToFolderMapping(
"appassets", "assets", CoreWebView2HostResourceAccessKind.Allow);
MyWebView.Source = new Uri("http://appassets/www/index.html");
MyWebView.CoreWebView2.OpenDevToolsWindow();
現在找到了 index.html 并加載了它,沒有 CORS 問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/400830.html
上一篇:Winui3中的WebView2:從本地檔案系統加載Ionic/Angular應用程式時出現CORS錯誤
下一篇:電容閃屏影片
