c# - WebBrowser 控件检查域

标签 c# windows-phone-7 browser

在 Windows Phone 上,如何查看某人点击了哪个域,如果不是某个域,则改为打开 IE?

基本上,如果用户在 http://m.google.com/app/plus 或任何子页面上,则留在 webbrowser 控件中,但如果它是站点外的东西,最好即使它仍在 http://m.google.com 上,也可以在 Internet Explorer 中打开。

我正在用 C# 编写,请具体说明,我对此非常陌生。

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

最佳答案

假设您的 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将使用外部 URL 打开 IE,Google+ 本地的所有其他链接将保留在您的本地 WebBrowser 中.

编辑
这里实际上有一个几乎相同的问题:
want to open Link in external browser of WP7

关于c# - WebBrowser 控件检查域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8003719/

相关文章:

css - 在浏览器视口(viewport)外显示元素

javascript - 自动填充输入字段的最佳方法是什么?

c# - 如何从 ASP.NET WebApi 中的对象中排除某些属性

c# - 如何在uwp中的禁用按钮上显示工具提示?

c# - Windows Phone 7 导航传递参数

c# - 在哪里捕获异步 WCF 调用的 EndpointNotFoundException?

java - 线程 "main"org.eclipse.swt.SWTError : XPCOM error 0x80004005 in swt. mozilla 中出现异常

c# - 制作一个 Buttonfield 执行一个 javascript

c# - 如何防止重复项目listView C#

wpf - 桌面应用程序上的 Windows Phone 7 样式