默认链接 ( <href..>
) Xamarin.Forms WebViews 在 WebView 中打开。特别是在没有本地后退按钮的 iOS 中,从互联网打开 Url 时行为不方便。
我如何让 Xamarin.Forms 让设备上的浏览器打开链接,以便它至少在 Android、iOS 和 UWP 中运行?
最佳答案
没有内置属性或任何可让您执行此操作的东西。
但是,WebView
确实有一个Navigating
事件处理程序。您应该能够连接到它,将用户重定向到您想要的任何位置,然后取消原始事件。像这样:
public void WebView_Navigating(object sender, WebNavigatingEventArgs args)
{
if (args.Url.StartsWith("file://"))
{
return;
}
Device.OpenUri(new Uri(args.Url));
args.Cancel = true;
}
从代码中连接它:
var webView = new WebView();
webView.Navigating += WebView_Navigating;
来自 XAML:
<WebView Navigating="WebView_Navigating" />
更多信息:
https://learn.microsoft.com/en-us/dotnet/api/xamarin.forms.webview.navigating?view=xamarin-forms
关于xamarin - 如何修改 Xamarin.Forms 中的 WebView 以在设备上的浏览器中打开链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53704452/