在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上的默认仿真器。
答案 0 :(得分:1)
要使新功能在旧版浏览器中运行,您可以使用所谓的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;
};
一般情况下,我建议您使用caniuse.com来检查哪些浏览器支持哪种功能。