除用户代理外,Chrome桌面模式还有哪些功能?

时间:2017-04-06 14:25:57

标签: android google-chrome webview android-webview

我有一个使用WebView的Android浏览器。我允许用户切换用户代理,并添加了一些用户代理,其中一个是Chrome使用的桌面模式用户代理。桌面模式用户代理在某些网站上运行良好,但在其他网站上则不然,但Chrome可以在这些网站上请求桌面网站。

那么Chrome还有什么用呢?

感谢。

2 个答案:

答案 0 :(得分:1)

它还会忽略任何视口元标记,并使用默认宽度980px。资料来源:https://crrev.com/5252baa9fbff3f1ffda51a4390cdf43070af22d7

有些网站纯粹基于用户代理嗅探在桌面和移动设备之间切换,但其他网站仅使用响应式CSS(以及合理的事件处理程序)。您可以通过在Chrome的开发人员工具中启用设备模拟来识别来自桌面Chrome的响应式网站:该网站将立即转换为移动版本。

WebView似乎并不完全支持此桌面模式。设置setUseWideViewPort(true)setLoadWithOverviewMode(true)可能类似,但我不确定。请参阅Force webview to display desktop sites,它链接到提供许多附加功能的WebView子类。

答案 1 :(得分:0)

webview.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {

            view.loadUrl(request.getUrl().toString());
            return false;
        }
    });

    webview.getSettings().setMinimumFontSize(12);
    webview.setInitialScale(150);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setLoadWithOverviewMode(true);
    webview.getSettings().setUseWideViewPort(false);
    webview.getSettings().setSupportZoom(true);
    webview.getSettings().setBuiltInZoomControls(true);
    webview.getSettings().setDisplayZoomControls(false);
    webview.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
    webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    webview.setScrollbarFadingEnabled(false);
    webview.getSettings().setAppCacheEnabled(false);
    webview.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
    String newUA= "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.45 Safari/535.19";
    webview.getSettings().setUserAgentString(newUA);
    webview.loadUrl(  ipAddress + "/wordpress/resume/");
    webview.reload();

因为一个插件喜欢拉列,所以使其以桌面模式加载Wordpress网站。