there is a way to activate a control WebView Desktop mode and not Mobile mode?

后端 未结 2 2137
感情败类
感情败类 2021-02-20 07:54

there is a way to activate a control WebView Desktop mode and not Mobile mode?


相关标签:
2条回答
  • 2021-02-20 08:15

    The WebView doesn't have an inherent desktop or mobile mode. Whether a site provides a mobile or desktop optimised site is generally based on the User Agent header. You can set this in a WebView by creating an HttpWebRequest with the agent you want and then navigating with WebView.NavigateWithHttpRequestMessage.

    If you want to mimic a specific browser mode you can find the user agent it uses at several web sites.

    string userAgent = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/7.0; Touch; rv:11.0; WPDesktop) like Gecko"
    HttpRequestMessage httpRequestMessage = new HttpRequestMessage(
        HttpMethod.Post, new Uri("http://whatsmyuseragent.com"));
    httpRequestMessage.Headers.Append("User-Agent",userAgent);
    
    myWebView.NavigateWithHttpRequestMessage(httpRequestMessage);
    
    0 讨论(0)
  • 2021-02-20 08:31

    You can try adding a viewport meta tag with a "desktop" width to your <head>, like:

    <meta name="viewport" content="width=1024">

    or

    <meta name="viewport" content="width=1024,initial-scale=1, maximum-scale=1, user-scalable=no">

    Try this in order to set your user agent:~

    webView.SetWebViewClient (new MyWebViewClient());
    
    // ...
    
    public class MyWebViewClient : WebViewClient
    {
        public override bool ShouldOverrideUrlLoading(WebView view, string url)
        {
            view.Settings.UserAgentString = "your-user-agent-here";
            view.LoadUrl(url);
            return true;
        }
    }
    

    0 讨论(0)
提交回复
热议问题