[英]How to open new browser window in C#, WinUI 3?
我正在嘗試在新瀏覽器 window 中打開 URL。 具體來說,一個新的瀏覽器 window 。 以下代碼在默認瀏覽器中啟動 URL,但始終在現有瀏覽器 window (如果存在)中將 URL 作為新選項卡打開。 我想在新瀏覽器 window 中啟動新選項卡,無論一個(或多個)瀏覽器 windows 是否已經打開。
此代碼在 WinUI 3 中啟動 URL(在現有瀏覽器窗口的新選項卡中),似乎是最簡單的:
Windows.System.Launcher.LaunchUriAsync(new Uri("http://google.com"));
這段代碼做同樣的事情,也可以在 WinUI 3 中工作(感謝這里的答案):
Process myProcess = new Process();
myProcess.StartInfo.UseShellExecute = true;
myProcess.StartInfo.FileName = "http://google.com";
myProcess.Start();
請注意,以下代碼在 WinUI 3 中根本不起作用:
System.Diagnostics.Process.Start("http://google.com");
編輯:其他排除方法
Process.Start()
的以下修改適用於 WinUI 3,但與上述方法一樣,僅在現有瀏覽器 windows 中打開新選項卡,因此不是上述問題的解決方案(另請注意,它強制使用特定瀏覽器,而不是比默認瀏覽器):
Process.Start("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe", "http://google.com");
您可以通過在 webview2 中調用 JavaScript 命令來實現:
await webView.ExecuteScriptAsync("window.open('http://www.bing.com');");
確保您已經設置了webView
的來源,或者您已經調用EnsureCoreWebView2Async()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.