桌面模式下的Windows手机浏览器

时间:2013-09-05 11:11:30

标签: browser windows-phone

如何强制Windows手机在移动borwser中使用桌面查看模式?

在设置中,可以将浏览器设置为使用桌面视图,因为移动视图中似乎缺少某些功能,导致我的网站无法正常显示。

1 个答案:

答案 0 :(得分:1)

如果要在WebBrowser控件中以桌面模式显示网站,则必须更改其用户代理。你可以这样做:

webBrowser.Navigate(new Uri("http://www.google.com", null, "User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)");

该代码将WebBrowser的用户代理更改为桌面Internet Explorer 10的用户代理。

但是,它只会更改导航到的页面的用户代理。当用户单击链接时,将更改用户代理。要解决此问题,请将WebBrowser的Navigating事件设置为:

private void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
        string url = e.Uri.ToString();
        if (!url.Contains("#changedua"))
        {
            e.Cancel = true;
            url = url + "#changedua";
            webBrowser.Navigate(new Uri(url), null, "User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)");
        }
}

在此代码中,我们检查url是否包含一个标志“#changedua”。如果是,我们允许导航。如果没有,我们取消导航。然后,我们使用自定义用户代理再次导航,并添加标志以显示它是有效的。