我无法找到这种情况的答案:
我的应用程序中有一个WebView,我加载了从服务器获取的HTML - 这工作正常。但是像所有HTML页面一样,他们在其他网站上有链接。如何在手机浏览器中打开WebView打开外部链接?
这是我的回调:
<div style="font-weight:bold;"><p style="text-align: justify;">No 6. līdz 17. jūlijam Kazaņā, Krievijā notiekošajā XXVII Pasaules vasaras Universiādē Latvijas komandu pārstāvēs 23 Rīgas Tehniskās universitātes (RTU) studenti, kas būs lielākā pārstāvniecība starp Latvijas augstskolām.</p></div><div><p style="text-align: justify;">Latviju vērienīgajā sporta pasākumā šogad pārstāvēs rekordliels dalībnieku skaits -120 sportisti no dažādām Latvijas augstskolām. Kopumā pasākumā piedalīsies 162 valstu komandas ar 10 442 sportistiem, sacenšoties 351 sporta veidā. Tas ir vairāk nekā Londonas Olimpiskajās spēlēs izdalītie 302 medaļu komplekti.</p><p>http://www.google.lv</p>
我这样做:
string callback = HttpRequest...
WebView.NavigateToString(callback );
在我的回调页面上是否有某种属性可以打开外部链接?
修改
我的页面上有这个:
<phone:WebBrowser Name="ArticleContent" />
在C#中我正在做:
ArticleContent.NavigateToString(callback);
在我的回调(HTML字符串)中,还有hrefs(指向互联网中其他页面的链接)。 如何在外部电话浏览器中打开链接,不在我的应用程序
EDIT 2.0:
感谢Toni Petrina 我现在有下一个代码:
private void ArticleContent_Navigating(object sender, NavigatingEventArgs e)
{
WebBrowserTask webBrowserTask = new WebBrowserTask();
//webBrowserTask.Uri = new Uri(e.Uri.ToString(), UriKind.Absolute);
//webBrowserTask.Show();
webBrowserTask.URL = e.Uri.ToString();
webBrowserTask.Show();
}
它打开手机浏览器并导航到页面 - 这部分没问题。 当我使用后退按钮返回我的应用程序并单击WebView中的另一个链接时,它会在WebView中打开页面 - 怎么样?(这显示在2或3或4上点击链接,所有随机的时间)。
编辑3.0:
忘记取消活动: e.Cancel = true;
答案 0 :(得分:1)
是WebControl
,而不是WebView
。您可以使用Navigate
方法导航到URI。有关MSDN的更多信息,请参阅。
编辑:
要在外部(内置)浏览器中打开链接,请使用[WebBrowserTask][2]
。像这样使用它:
var task = new WebBrowserTask
{
task.Uri = new Uri(...)
}
task.Show();
您可以通过[WebBrowser.Navigating][3]
事件捕获传出链接导航。只需取消当前导航并从上面调用任务。