我正在尝试制作Windows Phone 8网络浏览器类型的应用程序但我的问题是尝试使用bing.com显示搜索结果总是会打开Bing搜索应用程序。现在这对本机浏览器的用户非常有用,因为Bing应用程序然后在Internet Explorer中打开链接,但遗憾的是这在第三方浏览器上非常无用。有没有办法禁用它,并允许用户在我的应用程序中使用Bing或他们将被迫使用谷歌。
答案 0 :(得分:1)
有一种解决方法可以通过检查它是否在导航事件处理程序中搜索bing,然后导航到具有自定义用户代理标头的同一网址来禁止此行为。
这是代码
private bool _customHeaderRequest = false;
private void MainBrowser_Navigating(object sender, NavigatingEventArgs e)
{
string host = e.Uri.Host.ToLowerInvariant().Trim();
if ((host == "bing.com" || host.EndsWith(".bing.com")) && !_customHeaderRequest)
{
e.Cancel = true;
Dispatcher.BeginInvoke(() =>
MainBrowser.Navigate(e.Uri, null,
"User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; NOKIA; Lumia 710)\r\n"));
_customHeaderRequest = true;
return;
}
_customHeaderRequest = false;
}
private void MainBrowser_Navigated(object sender, NavigationEventArgs e)
{
_customHeaderRequest = false;
}
答案 1 :(得分:0)
为什么不在您的网络应用中使用Bing Maps V7 JavaScript控件。这比将用户发送到bing.com/maps消费者站点要好得多。这也可以为您提供更多功能和自定义功能。您可以在此处找到有关此API的文档:http://msdn.microsoft.com/en-us/library/gg427610.aspx