WebBrowser控制检查域

时间:2011-11-04 00:39:13

标签: c# windows-phone-7 browser

在Windows Phone上,如何查看某人点击的域名,如果不是某个域名,请改为打开IE浏览器?

基本上,如果用户位于http://m.google.com/app/plus或任何子页面上,请留在webbrowser控件中,但如果它不在网站上,最好即使它仍然在http://m.google.com,请打开在Internet Explorer中。

我正在用C#写作,请具体一点,我对此非常陌生。

编辑:另外,有没有办法向WebBrowser控件添加一个加载栏?

1 个答案:

答案 0 :(得分:3)

假设您的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。 <{1}}是一种检查用户域名的简单方法,但它应该足够了。

String.Contains()将使用外部网址打开IE浏览器,而Google+本地的所有其他链接都将保留在您的本地WebBrowserTask内。

修改
这里几乎有一个相同的问题:
want to open Link in external browser of WP7