Почему IE11 обрезает мой файл JS? - PullRequest
0 голосов
/ 09 июля 2020

Edit: я думаю, что исправил это, и я думаю, что это было больше связано с Angular, чем я думал. Сценарий на самом деле ломался на толстой стрелке, но этого было трудно заметить из-за минификации кода. Этот сценарий является глобальным и, по-видимому, не компилируется babel при сборке проекта. Я думал, что IE11 поддерживает толстые стрелки, но, видимо, нет? Это было исправлено путем преобразования любых толстых стрелок в файле в традиционные объявления функций.

Полное раскрытие, я использую Angular 7, но у меня нет оснований полагать, что это

Я загружаю стороннюю JavaScript на свой сайт, и скрипт был запутан (?) и уменьшен до некоторой степени (третьим лицом, у меня нет доступа к исходному коду ). Код раздроблен в одну очень длинную неразборчивую строку кода, а имена функций преобразованы в шестнадцатеричные значения? Этот аспект кода меня озадачивает, так как это не похоже на обфускацию, когда код строится сам и / или предоставляет что-то вызываемое на английском языке sh на клиенте. Насколько я могу судить, присвоение шестнадцатеричным значениям функций лишь затемняет семантику кода. Опять же, я не думаю, что это обязательно имеет отношение к моей проблеме.

Есть одна функция, которую я пытаюсь вызвать из этого файла, и этот вызов отлично работает в браузерах, отличных от IE, но функция не определено в IE11.

Когда я смотрю на запрос на загрузку файла, сравнивая Firefox и IE11, я замечаю некоторую странность. Для краткости я публикую скриншоты END содержимого файла, так как код длинный, и я не верю, что для постановки вопроса необходимо показывать файл целиком.

В предварительном просмотре ответа FF, а также когда я открываю ответ на новой вкладке, я вижу полное содержимое файла, включая объявление функции, которую я пытаюсь вызвать:

FF response

In the IE response preview and when copying the actual response payload, I'm seeing what appears to be a truncated version of the file, and the file is ending before the declaration of the function I'm attempting to call:

IE ответ

Может ли кто-нибудь объяснить эту разницу в полезной нагрузке IE11? Я вспоминаю более старые версии IE, усекающие большие пакеты кода, но я считаю, что ограничение на размер файла IE значительно увеличено в IE11, и мой файл составляет всего 25 КБ.

Наконец, я заметил еще одну странность. что когда я копирую и вставляю полезную нагрузку ответа непосредственно из предварительного просмотра FF, вставленный код обрезается точно так же, как и полезная нагрузка IE, в том же месте.

1 Ответ

0 голосов
/ 10 июля 2020

Думаю, я исправил это, и я думаю, что это было больше связано с Angular, чем я думал. Сценарий на самом деле ломался на толстой стрелке, но этого было трудно заметить из-за минификации кода. Этот сценарий является глобальным и, по-видимому, не компилируется babel при сборке проекта. Я думал, что IE11 поддерживает толстые стрелки, но, видимо, нет? Это было исправлено путем преобразования любых жирных стрелок в файле в традиционные объявления функций.

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