我有一个使用WebView的Android浏览器。我允许用户切换用户代理,并添加了一些用户代理,其中一个是Chrome使用的桌面模式用户代理。桌面模式用户代理在某些网站上运行良好,但在其他网站上则不然,但Chrome可以在这些网站上请求桌面网站。
那么Chrome还有什么用呢?
感谢。
答案 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网站。