如何强制Windows手机在移动borwser中使用桌面查看模式?
在设置中,可以将浏览器设置为使用桌面视图,因为移动视图中似乎缺少某些功能,导致我的网站无法正常显示。
答案 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”。如果是,我们允许导航。如果没有,我们取消导航。然后,我们使用自定义用户代理再次导航,并添加标志以显示它是有效的。