旧Android 版本的浏览器没有一些JS 功能?

Old Android versions browsers do not have some JS functions?

在 Oreo 设备上使用包含 html 文件的 webview 测试了一个应用程序,一切正常。但是,在使用 Kitkat 设备(模拟器)时,出现错误 Possible Unhandled Promise Rejection: "Object function Object() { [native code] } has no method 'entries'".

这表面上是因为我在 html 中使用了 Object.entries()。有什么办法可以解决这个问题吗? Kitkat 模拟器上的浏览器版本是 4.4.2-4729339,模拟器是 Android Studio 上的默认模拟器。

要使新功能在旧版浏览器中运行,您可以使用所谓的 Polyfills 这些功能大多可以在 github 或 Mozilla Developer Network 上找到。

您正在寻找的是 Object.entries() polyfill:

if (!Object.entries)
  Object.entries = function( obj ){
    var ownProps = Object.keys( obj ),
        i = ownProps.length,
        resArray = new Array(i); // preallocate the Array
    while (i--)
      resArray[i] = [ownProps[i], obj[ownProps[i]]];

    return resArray;
  };

(代码取自:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries#Polyfill

总的来说,我推荐你使用caniuse.com,在那里你可以查看哪些浏览器支持哪些功能。