2013-07-08 80 views
0

我無法找到答案這種情況下:的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;

回答

1

它是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