[英]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开发人员网络上找到。
您正在寻找的是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 ,在这里可以检查哪种浏览器支持哪种功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.