#javascript #polyfills #pdf.js #pdfjs
#javascript #полизаполнения #pdf.js
Вопрос:
Я использую последнюю версию pdfjs для рендеринга своих документов, но получил синтаксическую ошибку на Edge:
На pdf.js строка 2366, обнаружен странный синтаксис — «?», я никогда не видел этого раньше.
Исходный код находится в файле api.js строка 1196.
Итак, вот мои вопросы:
- Что такое «?».
- Если это не ошибка, как я могу заставить ее работать на моем Edge?
Моя версия Edge: Microsoft Edge 44.19041.1.0
Кстати, pdfjs отлично работает в Chrome.
Ответ №1:
?.
оператор называется необязательной цепочкой. Проверьте MDN
Согласно MDN, он поддерживается в «Edge 80». Для поддержки старых браузеров вы можете выполнить поиск, чтобы использовать полизаполнение.
Похоже, вы не можете использовать полизаполнение, потому что это оператор. Они говорят, что вам нужно перенести свой скрипт. Транспилинг просто берет ваш код (который не поддерживает старые браузеры), а затем генерирует код, который поддерживает старые браузеры.
Ответ №2:
Переключение на дистрибутив pdfjs «es5» устранило эту ошибку для меня (на Edge 44.18362.449.0).
Комментарии:
1. Да, я пытался переключить старую версию pdfjs на новую версию и использовать старую «общую» команду. Я исправил эту проблему, используя вместо этого ‘generic-es5’