我最近一直在进行移动端网页开发,有两件事情让我非常震惊:浏览器特定的错误(和缺陷)数量以及当我搜索这些错误时完全没有相关文档。我可以通过拒绝支持Android 2.1和iOS 3设备来避免很多问题,这也许在一年后是有意义的,但它们仍然占据市场的相当大一部分,所以我真的需要支持它们。
现在我正在使用http://www.caniuse.com,但它只告诉我缺少的HTML5功能,而不是错误。此外,如果我想深入了解“部分支持”的含义,我必须点击链接到的网站,这些网站可能包含或者不包含相关信息。
以下是我发现的一些错误和差异(也许不是错误,但开发人员应该注意的)。
现在我正在使用http://www.caniuse.com,但它只告诉我缺少的HTML5功能,而不是错误。此外,如果我想深入了解“部分支持”的含义,我必须点击链接到的网站,这些网站可能包含或者不包含相关信息。
以下是我发现的一些错误和差异(也许不是错误,但开发人员应该注意的)。
- Android 2.1无法阻止对被覆盖元素的点击。
- Android 2.1并不总是立即清除
placeholder
文本(有时可见,有时不可见),这会导致计入maxlength
。 - Android 2.1 HTC在滚动时无法触发touchend事件。
- Android 2.1(以及有时的iOS3)可能会在应用程序缓存下载完成后阻止所有页面内的网络连接。
- Android 2.1只通过
-webkit-background-size
支持background-size
。 - Android 2.1和iOS 3对HTML5元素的样式没有正确处理。
- 在Android设备上,
inline-block
元素有时会超出其指定的宽度并溢出到下一行:33.33% + 33.33% + 33.33% > 100% - iOS 3可能会在translate3D或translateX转换期间使元素变空白。
- Android 2.2(一个设备)偶尔会在页面导航期间将新页面的3D翻译元素呈现在旧页面的上方。