的WebView和外部链接

问题描述:

我无法找到答案这种情况下:的WebView和外部链接

我有一个的WebView在我的应用程序,我加载HTML存在,我从服务器得到了 - 这项工作很好。但是像所有的HTML页面,他们在其他网站上都有链接。如何让WebView在手机浏览器中打开外部链接?

这里是我的回调:

<div style="font-weight:bold;"><p style="text-align: justify;">No 6. līdz 17. jūlijam Kazaņā, Krievijā notieko&scaron;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ā &scaron;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&scaron;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(链接到互联网上的其他网页)。 如何使链接在外部手机浏览器不是在我的应用程序打开,

编辑2.0:

感谢托尼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点击一个链接,随机所有时间)。

EDIT 3.0:

忘记取消事件: e.Cancel = TRUE;

它是WebControl,而不是WebView。您可以使用Navigate方法导航到URI。请参阅MSDN

编辑:

用于打开外部(内置)浏览器链接,可使用[WebBrowserTask][2]。像这样使用它:

var task = new WebBrowserTask 
{ 
    task.Uri = new Uri(...) 
} 
task.Show(); 

您可以通过[WebBrowser.Navigating][3]事件捕获传出链接导航。只需取消当前的导航并从上面调用任务即可。

+0

你不明白,我已经添加了一个编辑,也许这将有助于理解我 – Cheese

+0

我已经更新了我的答案。 –

+0

是的,这就是我一直在寻找的东西。谢谢 – Cheese