Контроль веб-браузера Проверка домена - PullRequest
3 голосов
/ 04 ноября 2011

На Windows Phone, как я могу проверить, на какой домен кто-то нажал, и если это не определенный домен, вместо этого откройте IE?

Как правило, если пользователь находится на http://m.google.com/app/plus или на какой-либо дополнительной странице, оставайтесь в элементе управления webbrowser, но если что-то находится за пределами сайта, желательно, даже если он все еще на http://m.google.com, откройте в Internet Explorer.

Я пишу на C #, и, пожалуйста, будьте конкретны, я безумно новичок в этом.

РЕДАКТИРОВАТЬ: Кроме того, есть ли способ добавить панель загрузки в элемент управления WebBrowser?

1 Ответ

3 голосов
/ 04 ноября 2011

Предполагается, что ваш WebBrowser XAML выглядит примерно так:

<phone:WebBrowser Name="browser_Post" Navigating="OnBrowserPostNavigating">

Ваш обработчик событий будет выглядеть так:

private void OnBrowserPostNavigating(object sender, NavigatingEventArgs e)
{        
    // meaning the link is external, we want to open this outside of our app
    if (!e.Uri.AbsoluteUri.Contains("m.google.com/app/plus"))
    {
        e.Cancel = true;
        WebBrowserTask task = new WebBrowserTask();
        task.URL = e.Uri.AbsoluteUri;
        task.Show();
    }
}

e.Uri.AbsoluteUri будет абсолютным URI кликаемой ссылки, т. Е. http://www.google.com. String.Contains() - это упрощенный способ проверки домена пользователя, но его должно быть достаточно.

WebBrowserTask откроет IE, используя внешний URL, а все другие ссылки, локальные для Google+, останутся в пределах вашего локального WebBrowser.

Редактировать
Здесь на самом деле почти идентичный вопрос:
хочу открыть ссылку во внешнем браузере WP7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...