除了用户代理,Chrome 桌面模式还有什么作用?
Other than user agent, what else does Chrome desktop mode do?
我有一个使用 WebView 的 Android 浏览器。我允许我的用户切换用户代理,我添加了一些用户代理,其中之一是桌面模式用户代理 Chrome 使用。桌面模式用户代理在某些网站上运行良好,但在其他网站上效果不佳,但是 Chrome 可以在这些网站上请求桌面网站。
那么 Chrome 还在做什么?
谢谢。
它还会忽略任何视口元标记并使用默认宽度 980 像素。资料来源:https://crrev.com/5252baa9fbff3f1ffda51a4390cdf43070af22d7
一些网站纯粹基于用户代理嗅探在桌面和移动设备之间切换,但其他网站仅使用响应式 CSS(和合理的事件处理程序)。您可以通过在 Chrome 的开发人员工具中启用设备模拟来从桌面 chrome 识别响应式网站:该网站将立即转换为移动版本。
WebView 似乎并不完全支持这种桌面模式。设置 setUseWideViewPort(true)
和 setLoadWithOverviewMode(true)
可能相似,但我不确定。请参阅 Force webview to display desktop sites,它链接到提供大量附加功能的 WebView 子类。
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 站点,因为有一个插件喜欢拉栏。
我有一个使用 WebView 的 Android 浏览器。我允许我的用户切换用户代理,我添加了一些用户代理,其中之一是桌面模式用户代理 Chrome 使用。桌面模式用户代理在某些网站上运行良好,但在其他网站上效果不佳,但是 Chrome 可以在这些网站上请求桌面网站。
那么 Chrome 还在做什么?
谢谢。
它还会忽略任何视口元标记并使用默认宽度 980 像素。资料来源:https://crrev.com/5252baa9fbff3f1ffda51a4390cdf43070af22d7
一些网站纯粹基于用户代理嗅探在桌面和移动设备之间切换,但其他网站仅使用响应式 CSS(和合理的事件处理程序)。您可以通过在 Chrome 的开发人员工具中启用设备模拟来从桌面 chrome 识别响应式网站:该网站将立即转换为移动版本。
WebView 似乎并不完全支持这种桌面模式。设置 setUseWideViewPort(true)
和 setLoadWithOverviewMode(true)
可能相似,但我不确定。请参阅 Force webview to display desktop sites,它链接到提供大量附加功能的 WebView 子类。
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 站点,因为有一个插件喜欢拉栏。