我对Android WebView dekstop网站请求(强制)做了相当广泛的研究,但没有一条路径达到预期的目的。我尝试将WebView的User Agent设置为:
String userAgent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101 Firefox/4.0";
webView.getSettings().setUserAgentString(userAgent);
,如Force webview to display desktop sites,但它没有加载完整的桌面版网站。我也尝试了更多的UA字符串,以确保它不仅仅是一个无效的字符串。我甚至尝试从https://github.com/delight-im/Android-AdvancedWebView/blob/6db5a76b781c636513282b9efed993e705db4570/Source/library/src/main/java/im/delight/android/webview/AdvancedWebView.java#L358
实施桌面大小强制我还试图强制WebView使用宽视图端口(据我所知也应该使用桌面大小(或任何html元标记大小)):
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);
所有上述解决方案都不适用于我的目标网站:imobiliar.cz,dpmb.cz甚至google.com(不确定在那里,因为它看起来与桌面上的几乎相同,只有很小的差异)。
我可以看到很可能问题出在网站本身的某个地方(可能是javascript?),它会检查屏幕分辨率并相应地设置视图 - 在横向模式下,它在某些设备上是桌面尺寸。
当我在Google Chrome应用中尝试这些网站时,它们按预期工作 - 默认移动版和桌面版,而在菜单中选中桌面版。我的问题很简单 - 谷歌浏览器或其他移动浏览器中的请求桌面网站如何工作?甚至更好 - 我怎样才能为我的应用做同样的事情?