javascript - 未捕获的语法错误 : Unexpected reserved word on older android version

标签 javascript android cordova

我正在使用 cordova 编写一个应用程序并在 android 8.0.0 上测试它,它工作正常。 但在我 friend 的手机(android 4.4.4)上它不起作用,我在控制台日志中收到这些错误。

Uncaught SyntaxError: Unexpected reserved word Widget.js:9
Uncaught SyntaxError: Unexpected reserved word Image.js:8
Uncaught SyntaxError: <unknown message reserved_word> Button.js:7
Uncaught SyntaxError: <unknown message reserved_word> TextArea.js:8
Uncaught SyntaxError: <unknown message reserved_word> Effect.js:8
Uncaught SyntaxError: Unexpected reserved word View.js:9
Uncaught SyntaxError: <unknown message reserved_word> User_interface.js:8
Uncaught SyntaxError: <unknown message reserved_word> Communication.js:8
Uncaught SyntaxError: <unknown message reserved_word> App.js:7

这些错误会阻止关键字“class”

Uncaught SyntaxError: Unexpected token ) index.js:16

并且还阻止:

AndroidFullScreen.immersiveMode(()=>{},()=>{});

这里我认为它无法识别箭头功能,但我不确定。

我想知道我是否可以修复它,或者手机对于我的应用程序来说太旧了? 如果您需要其他信息,请告诉我,我会提供:)

提前致谢

最佳答案

在 Android 4.4 之前,cordova 使用旧的 Android 浏览器(对 html 5 的支持非常旧)。

从android 4.4开始,android浏览器被Chrome取代,但webview使用的Chrome版本无法升级(4.4为36版本)。

从android 5.0开始,chrome现在是在apk中并且可以更新。

箭头函数要求 Chrome 版本最低为 45,这就是您的应用无法在您 friend 的手机上正常运行的原因。

如果希望您的应用在 Android 5 之前的手机上正常运行,您可以:

  • 不要使用太新的 javasctipt(检查 caniuse 的支持)
  • 使用 crosswalk 插件将 WebView 嵌入到您的应用中

Crosswalk 应该始终使用最新版本的 chromium,但不幸的是该项目不再更新,因此您也无法使用最新的 javascript 更新。 (Crosswalk 的最新版本使用 chromium 版本 53,它比 Android 4.4 中使用的 36 更新得多)

Crosswaalk 的优点是您的应用程序在所有设备上对 html/js/css 具有相同的支持,因此您知道您的应用程序在所有设备上的行为/外观。

使用 Crosswalk 会导致 APK 更大,因此这并不总是最佳选择。

您还可以构建两个不同的 apk 版本,一个用于 android <5.0,另一个用于更新版本。

关于javascript - 未捕获的语法错误 : Unexpected reserved word on older android version,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50471928/

相关文章:

android - Android RelativeLayout/LinearLayout 的 iOS 等价物是什么?

javascript - 如何在用作参数的函数中设置 Javascript 中的局部变量?

javascript - 提交表单后在同一页面中显示消息

android - 在将 View 添加到 ViewGroup 之前,在后台线程中创建和修改 View 是否安全?

javascript - React.js useRef 钩子(Hook)未返回预期对象

Android installLocation 不适用于市场

ios - Ionic Native File.readAsDataURL 给出错误代码 : 1 message: NOT_FOUND_ERR

Jquery Mobile 类似于使用 Phonegap 进行移动开发

javascript - 单击按钮时.show() 不起作用

javascript - 单击更改动态元素的背景颜色