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