Запросы данных не работают в браузерах, кроме Chrome, JavaScript и Contentful API - PullRequest
1 голос
/ 06 апреля 2019

Запрошенные данные работают в Chrome, но не в любом другом браузере, который у меня есть.Я не знаю почему.Я также попробовал Firefox, Explorer, Edge.Нет ответа, за исключением некоторой ошибки в коде продукта.

Это работает во всех браузерах, если я закомментирую let cartItem = {... Storage.getProduct (id) Если не закомментировано, это вызывает ошибку в других браузерах SyntaxError: неверный идентификатор свойства .Если эти строки закомментированы, в корзине есть неопределенные продукты, поэтому я работаю над решением.Надеюсь, я найду один.`

 button.addEventListener("click", event => {
        event.target.innerText = "In Cart";
        event.target.disabled = true;
        // get product from products
        let cartItem = {
          ...Storage.getProduct(id),
          amount: 1
        };

` Предполагается, что результатом будет то, что происходит в Chrome, который выводит данные из JSON для продуктов.Но во всех других браузерах нет продуктов или данных, кроме приведенного выше ответа.Вы можете проверить это во всех браузерах, у меня это есть на Netlify, вот ссылка для дальнейшего тестирования: https://comfy1.netlify.com/

Спасибо

Ответы [ 2 ]

0 голосов
/ 07 апреля 2019

Код, который я использовал, был несовместим. Определенно не работает с IE. приведенный ниже фрагмент кода работает со старыми версиями Firefox и работает с EDGE. Работает из локального JSON, а также из API внешнего источника. протестировано на локальной машине, хостинге cPanel и Netlify.

let cartItem = Storage.getProduct(id);
cartItem.amount = 1

Спасибо всем, кто оставил отзыв по этому вопросу. Он указал мне в правильном направлении.

0 голосов
/ 06 апреля 2019

Оператор покоя / спреда полностью совместим с:

  • Traceur
  • Край 17
  • Край 18
  • Edge 19 Preview
  • FF 60 ESR
  • FF 65
  • FF 66
  • FF 67 Beta
  • FF 68 Ночной
  • CH 72, OP 59
  • СН 73, ОП 60
  • СН 74, ОП 61
  • CH 75, OP 62
  • SF 12
  • SF 12,1
  • SF TP
  • WK
  • XS6
  • Узел> = 6,5 <7 </li>
  • Узел> = 8.10 <9 </li>
  • Узел> = 10,9 <11 </li>
  • Узел> = 11
  • GraalIVM 1.0
  • iOS 12
  • iOS 12.2
  • Samsung 8,2

Есть также некоторые частичные совместимости. Если вы собираетесь работать с оператором распространения / отдыха, но в целом с любой функцией ES 6, вам необходимо убедиться, что вы тестируете ее в правильной версии.

Вот таблица поддержки версий: https://kangax.github.io/compat-table/es6/

А если вам требуется поддержка старых браузеров, вы можете реализовать запасную логику с помощью транспилятора (проще, чем кажется). Для этого хорошим вариантом является BabelJS io: https://babeljs.io/

В этом случае вам потребуется реализовать запасную логику для старых браузеров, поскольку ваш код не выполняется должным образом. Если вам нужно, чтобы мы написали запасную логику для более старых версий, нам потребуется дополнительная информация о том, что возвращает Storage.getProduct (id).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...