【问题标题】:Cordova on Android 4.4 CSS and Javascript compatibilityAndroid 4.4 CSS 和 Javascript 兼容性上的 Cordova
【发布时间】:2018-05-18 02:08:49
【问题描述】:

我正在开发一个 cordova 应用程序,在 Android 7 和 6 上进行测试,一切正常。 当我尝试在 Android 4.4 设备上安装应用程序时,它会启动,但 CSS 呈现非常糟糕(缺少边框和其他丑陋的东西)并且不支持某些 Javascript 函数(例如 Array.forEach)。
我认为是因为 Android 4.4 上的 webview 很旧,但我不知道如何解决这个问题。
我试图安装 Crosswalk,但它什么也没做,它没有出现在 navigator.userAgent 中,所以我认为它不起作用。 我的插件列表中有这个:

cordova-plugin-crosswalk-webview 2.3.0 "Crosswalk WebView Engine"

这在我的 navigator.userAgent 中

"Mozilla/5.0 (Linux; Android 4.4.2; Android SDK built for x86 Build/KK) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36"

【问题讨论】:

  • 您是否尝试记录出现在 WebView 控制台中的警告和错误?
  • 它只是显示 Javascript 错误,因为我使用的新功能不受支持,但我可以找到解决方法。它没有说明 css,但这是最大的问题:/
  • 您应该确定缺少的功能,然后您需要将必要的 JS polyfill 添加到您的页面。喜欢this one for Array.forEach
  • 我正在修复 javascript 问题,但 CSS 看起来仍然很糟糕。我希望有一些东西可以支持旧 webview 中的新功能,但我找不到任何东西。 CSS 太乱了,我将花费大量时间手动修复所有内容。而且css不是复杂和现代的东西,我不知道为什么不支持它。
  • cordova-plugin-crosswalk-webview 适用于 Android 4.x

标签: android cordova webview compatibility


【解决方案1】:

我自己解决了这个问题。 Crosswalk 是解决方案,但我无法安装它,因为您需要从 cordova 而不是 Android Studio 构建。 我是从 android studio 构建的,因为 cordova 给了我一个 gradle 版本的错误。 我修复了 cordova 的构建,重新安装了人行横道,现在我可以毫无问题地使用它,它支持所有新功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 2017-12-14
    • 2016-07-18
    相关资源
    最近更新 更多