Fro*_*dik 7 javascript html5 android cross-browser cordova
随着我越来越多地进入Android PhoneGap应用程序开发,我可以在整个版本中看到内置Android浏览器之间越来越多的细微差别和细节.我搜索了一些官方或粉丝文档,它们将处理这些浏览器版本差异.但我找不到任何有用的东西.
这是非常令人沮丧的,因为你必须在所有版本的Android模拟器上测试所有内容,如果应用程序变大,那么测试所有版本中的所有功能都需要做大量的工作.
每个人都对HTML5感到兴奋,我也是如此,但只是在我开始做真实的事情时.我意识到在处理Android的不同版本时,存在很多问题,有时会有很多不同.
如果有人有一些好的资源可以分享,我会非常高兴.谢谢
编辑:添加Android浏览器版本之间不同行为的示例(但有很多):
这适用于Android浏览器1.6,2.2,2.3和2.3.3.但它在Android 2.1中崩溃(应用程序崩溃或停止JS执行):
Object.keys(var).length
Run Code Online (Sandbox Code Playgroud)
你问了一个非常普遍的问题。一般目的答案是,任何类型的跨浏览器开发(甚至同一浏览器的跨版本)都要求您熟悉哪些功能在目标浏览器中是安全的,哪些功能在目标浏览器中不安全,以及哪些功能必须仅在经过仔细测试或具有回退功能的功能检测时使用。
虽然人们不会完全期望您在引用的一个示例中看到的差异类型,但很明显,这是 ECMAScript 中的一项相当新的功能,并且它在普通浏览器中的实现并不一致,所以我将它放在它所在的类别中假设它适用于所有版本的 Android 是不安全的,即使您已经见过它的某些版本的 Android。这对我来说意味着,只有当您明确测试它在您所针对的所有浏览器版本中都是可靠的或设计功能测试时才应该使用它,并且只有当您知道它存在且可靠或开发更安全的解决方法时才使用它。
正如我之前提到的,该线程针对您提到的具体问题提出了一系列建议的解决方法。
我不知道有任何详细的书面材料可以提前为您记录不同 Android 浏览器版本之间的差异细节。由于它是开源的,可能会有开发人员签入说明和一定程度的发行说明,但这可能就像大海捞针一样,甚至可能不包含您想要的内容。对于任何开发商来说,提供如此详细的信息是很少见的。我们通常不会从任何现有的桌面浏览器或 iOS 浏览器中获得这种级别的详细信息,即使您是开发团队本身的成员,您也可能只能看到此信息的一部分。我认为您不会找到涵盖您想要的内容的官方文档。
您必须学会将其视为更多的未知因素,并了解哪些区域是“安全的”,哪些区域在使用前需要进行广泛的测试以及哪些区域风险太大。即使这样做,您也会发现某些版本中的 Android 错误会让您陷入困境。这就是在别人的平台上构建的本质。至少,Android 浏览器集比尝试针对所有桌面浏览器(从 IE6 到 IE9、Firefox 3 到 5、Safari 3 到 5、Opera 9 到 11、Chrome 9 到 12、所有 Android、所有 iOS 和在可用的情况下使用 HTML5,这就是我正在研究的内容。
一旦你经历过几次这个苦恼,你就会意识到,如果新的语言/库功能带来任何风险,你根本不应该使用它,除非它对于你想要完成的事情绝对是核心,然后你将不得不对其进行测试。如果类似于获取关联数组的长度(这只是程序员的方便),那么坚持使用保证安全的解决方法可能会更简单,而不必花时间处理任何浏览器支持风险。
| 归档时间: |
|
| 查看次数: |
1202 次 |
| 最近记录: |