在 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/