Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android v 5.0 webview HTML5,CSS3和ES6兼容性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个使用Crosswalk的混合 Android应用程序.几个月前我转向Crosswalk,这是一个巨大的生产力提升.我花了很多时间测试不同的Android操作系统版本,并且在HTML5 / CSS3 / ES6实现不完整的情况下遇到的问题要少得多 – 如果我理解正确的话,因为Crosswalk是基于Chromium而不是早期版本的Android.

然而,Crosswalk项目现在已被放弃.我的理解是Android中的原生Webview的后v 5.0实现非常好,以至于Crosswalk已经过时了.

我现在也在虑放弃Crosswalk – 基于观察到我的目标市场(西欧)Android v 5.0-市场份额是个位数并且快速下降.

在我开始之前,我想我应该@L_616_5@问一下. Android v 5.0 WebView是否为HTML5,ES6和CSS3提供了真正平坦的Chrome等级API,或者我是否仍然可能遇到因各种设备供应商对操作系统进行“调整”而导致的未实现功能更糟糕的问题?

提一些具体问题

>我可以期待支持一整套CSS3伪选择器
>我可以假设我可以安全地工作而不使用-webkit样式的供应商前缀
>我是否能够编写使用Object.keys和其他更近期的JS稳定版的JS代码

我无法按版本找到有关Webview全套功能的全面讨论.我非常感谢有关此的任何反馈.

自从我发布这个问题以来,我已经尝试放弃Crosswalk并在运行Android 6的Moto E3Power手机上测试了结果.对于所有意图和目的,该应用程序仍然按预期工作.然而,这远非严格的测试.我正在对这个问题表示赏心悦目,希望能够产生一些明确的答案.

现在已经在两个设备上测试了我的非Crosswalk构建,我遇到了一个紧急问题.我做的一件事是修改cssText.例如

document.getElementById('id').style.cssText = 
";transform:rotate(45deg) translate(calc(1024px - 1.35em)) rotate(-45deg);"

在我的Android 6.0 Moto上完美运行并提供预期的结果:

>元素#idrotates 45度
>沿其旋转的X轴滑出
>最后旋转-45度

令人惊讶的是,在运行Android 7.0的HTC Hero上,这不起作用.然在添加-webkit-prefix之后我甚至没有尝试过.在这两台设备上,我将Webview升级到Play商店的最新版本.

解决方法

我想你可以尝试:

if (Build.VERSION.SDK_INT >= 19) {
    webView.setLayerType(View.LAYER_TYPE_HARDWARE,null);
}       
else {
    webView.setLayerType(View.LAYER_TYPE_SOFTWARE,null);
}

Android 19为WebView提供了Chromium引擎.我猜它在硬件加速方面效果更好.
硬件加速也很有用.您可以在应用程序的不同级别使用它.

申请级别

<application android:hardwareAccelerated="true" ...>

活动水平

<application android:hardwareAccelerated="true">
    <activity ... />
    <activity android:hardwareAccelerated="false" />
</application>

大佬总结

以上是大佬教程为你收集整理的Android v 5.0 webview HTML5,CSS3和ES6兼容性全部内容,希望文章能够帮你解决Android v 5.0 webview HTML5,CSS3和ES6兼容性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。