我是Xamarin的新手,我正在开发Xamarin Cross-Plotform应用程序,它适用于iOS和Android .
我在我的可移植类库项目中有一个视图,这个视图支持iOS和Android,因为我正在使用WebView,我正在使用外部Html页面加载WebView,这里我有一个问题就像在外部Html页面中一样有一些超链接,当我们点击该超链接时,它会在应用程序中打开,但我需要这个应该打开浏览器 .
我在可移植类库项目中加载我的webview,如下所示
mywebview.Source = new UrlWebViewSource { Url = myurl };
可以任何人帮助我如何在浏览器中打开iOS和Android的webview超链接 .
我尝试使用以下代码块,但它无法正常工作
private void mywebview_Navigated(object sender, WebNavigatedEventArgs e)
{
string jscall = "var d = document.getElementsByTagName('a'); for (var i = 0; i < d.length; i++) { if (d[i].getAttribute('target') == '_blank') { if(d[i].href.includes('?')) {d[i].href = d[i].href + '&target=blank';} else {d[i].href = d[i].href + '?target=blank';}}}";
Loadfromweb.Eval(jscall);
}
private void mywebview_Navigating(object sender, WebNavigatingEventArgs e)
{
if (e.Url.ToLower().Contains("target=blank"))
{
var uri = new Uri(e.Url);
Device.OpenUri(uri);
e.Cancel = true;
}
else
{
e.Cancel = false;
}
}