BlazorWebView 跳转非 https://0.0.0.0 地址的方法

2023年9月21日 994点热度 0人点赞 0条评论
内容纲要

研究了很久源码,发现了其运行机制。
如果 BlazorWebView 跳转的页面不是 https://0.0.0.0 ,那么就会使用客户端之外的浏览器打开页面。

// 这里的地址允许在浏览器中打开
        public static readonly Uri[] URLS = new Uri[]
        {
            new Uri("https://open.feishu.cn")
        };

            this.webView.BlazorWebViewInitializing += (s, e) =>
            {
                this.webView.WebView.CoreWebView2InitializationCompleted += (s, e) =>
                {
                    this.webView.UrlLoading += (s, e) =>
                    {
                        foreach (var item in URLS)
                        {
                            if (e.Url.IsBaseOf(item)|| e.Url.ToString().StartsWith(item.ToString()))
                            {
                            // 设置打开模式
                                e.UrlLoadingStrategy = UrlLoadingStrategy.OpenInWebView;
                                break;
                            }
                        }
                    };
                };
            };

然后导航打开:

WebView.CoreWebView2.Navigate(url)

痴者工良

高级程序员劝退师

文章评论