android - 为什么我的网站在 Android 模拟器和设备上看起来不同?

标签 android css webview webkit emulation

我建了一个网站(暂无链接)。所述网站响应迅速,通常在大多数现代设备上都能正常运行。这有助于我使用的唯一真正现代的 CSS 功能是“过渡”、“转换”和“框大小调整”。它们通常以有前缀和无前缀的形式使用。

现在,由于我这里没有大量的 Android 设备,我想我应该在 Android 模拟器中尝试使用 Android SDK 提供的网站。那时,我有点震惊地发现它在低于 4.3 的所有方面都相当糟糕。

问题似乎是我的菜单实现使用了“transform: translate();”并且 Android 标准版浏览器显然不支持此属性。

我注意到 Google 似乎在 Android 4.0、4.1、4.2 和 4.3 的模拟器图像中使用相同的 WebKit 版本 (534.30)。 (如果我可以信任用户代理字符串。)

在 Android 4.4 及更高版本的模拟器图像中,一切都按预期工作。 Android 4.4 也是第一个使用基于 Chrome(版本 33)的 WebView 实现的版本。

我自己的 Android 设备(来自 Sony)在 Android 4.3 上运行。根据用户代理字符串,WebView 的 WebKit 版本也为 534.30。我在使用 WebView(F-Droid 的 Lightning 浏览器)的浏览器中尝试了我的网站。它奏效了,包括动画。

一位同事也在他的 Android 4.0 三星设备上打开了我的网页。它也在那里工作。 (还没有在那里检查用户代理。)

所以,我想,也许 Google 通过 Play 服务更新 WebView。据我所知,情况似乎并非如此:我禁用了 Play Services 应用程序,删除了它的数据,然后重新启动了手机。该页面仍然有效。

这是怎么回事?制造商正在疯狂地修补 WebKit 吗?我完全可以信任 WebKit 版本号吗?

(已更新以澄清实际问题。)

最佳答案

检查屏幕尺寸。模拟器总是有不同的屏幕尺寸。这可能是问题所在。

关于android - 为什么我的网站在 Android 模拟器和设备上看起来不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31964260/

相关文章:

Android:滚动显示 WebView 的示例

java - 单击任意位置后,将 fillAfter 设置为 true 的 Android 动画会重置

Android登录注册中java.lang.String无法转换为JSONObject

javascript - HTML 脚本 .load 阻止响应元素

javascript - getComputedStyle 文本修饰继承

html - 无序列表背景颜色在媒体查询中消失

java - Webview 检查整个 session 的连接性

android - 从 webview shouldOverRideUrlLoading 确定 url 的元素

java - 为什么我仍然可以使用 support-v4 库而不在 gradle 上导入它?

android - ListView 可以在 ExpandableListView 里面吗?