2013-07-08 7 views
0

Я не могу найти ответ на такой случай:WebView и внешние ссылки

У меня есть WebView в моем приложении, и я загрузить там HTML, который я получил от сервера - это прекрасно работает. Но, как и все HTML-страницы, у них есть ссылки на других сайтах. Как я могу открыть внешние ссылки WebView в Phone Browser?

Вот мой обратный вызов:

<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); 

Есть ли какая-то собственность, чтобы открыть внешние ссылки на моей странице обратного вызова?

EDIT:

У меня есть это на моей странице:

<phone:WebBrowser Name="ArticleContent" /> 

и в C# я делаю:

ArticleContent.NavigateToString(callback); 

В моей обратного вызова (HTML строка) есть также hrefs (ссылки на другие страницы в Интернете). Как сделать ссылки открываются в Внешним Phone Browser, не в моем App

EDIT 2,0:

Благодаря Тони Петрины У меня есть следующий код прямо сейчас:

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 = истина;

ответ

1

Это WebControl, а не WebView. Вы можете перейти к URI, используя метод Navigate. См. Больше на MSDN.

EDIT:

Для открытия ссылки во внешнем (встроенный) браузер, используйте [WebBrowserTask][2]. Используйте его так:

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

Вы можете захватить исходящую ссылку навигации по [WebBrowser.Navigating][3] события. Просто отмените текущую навигацию и вызовите задачу сверху.

+0

Вы не поняли, я добавил редактирование, возможно, это поможет мне понять – Cheese

+0

Я также обновил свой ответ. –

+0

Да, это то, что я искал. Спасибо – Cheese

Смежные вопросы