Подтвердить что ты не робот

Почему Bootstrap пытается загрузить файлы LESS в Edge?

У меня есть веб-страница, использующая Twitter Bootstrap. Он отлично работает в Chrome, Firefox и Safari. Тем не менее, когда я пытаюсь просмотреть его в Edge в Windows 10, я получаю кучу 403 ошибок, заявляя, что не удалось загрузить множество бездействующих файлов из CDN Bootstrap. Почему запрашиваются бездействующие файлы, если браузер не может с ними что-либо сделать? Я вообще не использую LESS, просто CSS3, который отлично воспроизводится. Как сделать эту остановку?

Потеря ненужных запросов LESS

4b9b3361

Ответ 1

Хорошая новость заключается в том, что это не повлияет на обычных пользователей сайта. Плохая новость заключается в том, что это также происходит в Chrome в некоторой степени, просто, что вкладка сети в Chrome не сообщает о ошибках 403.

В файле CSS, на который вы ссылаетесь, есть строка внизу файла:

/*# sourceMappingURL=bootstrap.min.css.map */

Это исходные карты и ссылки на все исходные файлы, используемые для создания мини-CSS, который находится в вашем браузере.

В экземпляре bootstrap CDN указывает на файлы, которые не существуют, такие как http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/less/scaffolding.less

Файл исходной карты будет загружен, только если вы включили карты источников и откроете свои инструменты для разработчиков. Edge по умолчанию использует исходные карты, и насколько я могу судить, нет способа отключить их (но помните, что это произойдет только тогда, когда инструменты dev открыты, я подтвердил это поведение с помощью Fiddler), поэтому, когда вы нажимаете f12, тогда собираемся попробовать и получить исходные сопоставленные файлы. Chrome работает несколько иначе, он загрузит исходную карту, но затем не попытается загрузить файл .less, пока вы не перейдете к исходному файлу.

Если один из файлов .less возвращает 403 Запрещенный ответ, Edge сообщает об этом на вкладке сети. Chrome dosen't.

Если вы используете HTTP-отладчик, такой как Fiddler, вы увидите, что Chrome действительно запрашивает файлы, а также получает ответ 403, однако он не сообщает об этом на вкладке сети. При использовании Fiddler для преодоления проблемы с https я изменил файл CSS, указав на URL без https. например: http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css

Исправление этой проблемы - исправить файлы, которые находятся на исходной карте. Я поднял вопрос о загрузке bootstrap maxcdn GitHub: https://github.com/MaxCDN/bootstrap-cdn/issues/629

Ответ 2

Известна проблема с MaxCDN. (и CDNjs)

Записанные проблемы для справки:

Анализ CDN:

Для sourceMappingURL, который bootstrap.min.css.map для загрузочный файл, любой из файлов расширения .less (например, этот файл) не загружается с HTTP-статусом 403 (запрещено).

Chrome подавляет эту проблему в консоли разработчика, однако Edge не работает. Проблема при доступе к файлам .less воспроизводится путем доступа к этой ссылке.

Эта проблема связана не только с MaxCDN, но также с CDNjs. Ссылки для CDNjs this, this и this