FormData.entries () в Internet Explorer 11?

1

Как указано в официальной документации, IE11 не поддерживает FormData вообще или, по крайней мере, недостаточно, мне нужно.

Внутри моего кода мне нужно перебирать элементы элемента FormData. Для этой задачи я использую функцию entries() которая не работает в IE, давая мне ошибку

Объект не поддерживает атрибуты свойств или методов '

Я уже добавил https://github.com/jimmywarting/FormData через npm в свой проект и добавил его к моей записи в webpack.config.js который затем выглядел примерно так.

const webpack = require("webpack");
const path = require("path");

module.exports = {
    entry: {
        app: ["babel-polyfill", "formdata-polyfill", "whatwg-fetch", "./Scripts/Modules/index.ts"]
    },
}

В консоли я вижу, что загружается formdata.min.js. По мере того как ошибка все еще происходит, кажется, что она не использует полиполк, как следует. Он по-прежнему использует значение по умолчанию, которое не выполняется. Как я могу сказать, что мой код TypeScript использует версию polyfill вместо версии браузера по умолчанию, поскольку пакет не содержит никаких файлов d.ts?

Возможно ли это? Если нет - какие возможные обходные пути для такого сценария?

Изображение 174551

Это то, что FormData объект FormData в dev-tools:

Изображение 174551

который append только как метод

  • 0
    возможно вам нужен полифилл Object.entries ?
  • 0
    @JaromandaX Я добавил polyfill.js с кодом по ссылке, который включен перед всем остальным javascript-кодом, но все равно получаю ту же ошибку.
Показать ещё 2 комментария
Теги:
internet-explorer
form-data
polyfills

1 ответ

4
Лучший ответ

Не уверен, что это может помочь вам, но я получил эту проблему сегодня, и кажется, что версия полиполния, предоставляемая через NPM, не полностью переопределяет объект FormData, поэтому не подходит для IE11 или Edge.

Я нашел, что переключение на V3 библиотеки исправлено. Для этого я получил содержимое файла FormData.js из репозитория github и добавил его как компонент в свой собственный код JavaScript.

Я использую WebPack, чтобы получить некоторые другие проблемы с IE11, все еще исследуя.

Дайте мне знать, как это происходит, включив контент напрямую, а не получая его от NPM.

  • 0
    Благодарю. Я также закончил с этим решением (которое действительно работает). С другой стороны, я создал проблему для них здесь github.com/jimmywarting/FormData/issues/34 . Похоже, они скоро обновят npm-версию до v3, так что следите за обновлениями;)
  • 0
    Да, рад слышать, что ты решил свою проблему! Если у вас есть какие-либо идеи о моем браузере IE 11 здесь: stackoverflow.com/questions/47419688/… Дайте мне знать ;-) Полагаю, у нас такая же проблема с этим проклятым IE.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню