У меня та же проблема, что и у этого Объект не поддерживает свойство или метод 'entry' , и я установил polyfill как один из первых сценариев, запущенных в моем приложении.
Это JS с ошибкой
const formdata = new FormData(form);
for (var value of formdata.entries()) {
console.log(value);
}
Вот полифилл, который я пытаюсь
if (!Object.entries) {
//this does not run on Edge. So Object.entries must exist
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;
};
}
Сценарий, как указано выше, не работает на Edge. Так что 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;
};
Теперь я точно знаю, что скрипт находится на странице. но когда я использую Object.entries
ошибка возникает до того, как использовался полифилл
Как получается, что ошибка работает вместо polyfill on edge, несмотря на то, что она определенно присутствует на странице?