Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как правильно загружать модули скриптов(<script type="module") в HTML на андроиде?

alm alm Знаток (285), закрыт 1 неделю назад
  






Document



debug1


debug2


debug3





Это index.html. На десктопе всё работает, но когда открываю страницу на мобильном хроме выдает ошибку: Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "application/octet-stream". Strict MIME type checking is enforced for module scripts per HTML spec.
все доп. файлы находятся в том-же каталоге, что и index.html
Пробовал использовать crossorigin не помогает. Если подгружать скрипт не как модуль то всё работает. Так-же работает если загружать скрипт удаленно, например с github
Лучший ответ
робот д24 Мудрец (10883) 1 месяц назад
Проблема на сервере что он отдаёт неправильный mime-type
alm almЗнаток (285) 1 месяц назад
я просто на мобильном запускаю index.html и в качестве приложения выбираю chrome. Ещё пробовал запускать на андроид firefox, тоже самое. Настройки браузеров по-умолчанию.
робот д24 Мудрец (10883) alm alm, без северного языка, php, python и проч это не получится сделать
робот д24Мудрец (10883) 1 месяц назад
Серверного*
alm almЗнаток (285) 1 месяц назад
что сделать?
робот д24 Мудрец (10883) alm alm, написать скрипт на серверном языке который будет возвращать нужный mime-type для js
робот д24Мудрец (10883) 1 месяц назад
Нужно
alm almЗнаток (285) 1 месяц назад
у вас есть пример простой index.html которая подгружает простой скрип модуль и что-бы всё это работало на мобильном браузере?
робот д24 Мудрец (10883) alm alm, это невозможно сделать по спецификации html. Без сервера этой ошибки не избежать.
alm almЗнаток (285) 1 месяц назад
Без сервера этой ошибки не избежать.
alm almЗнаток (285) 1 месяц назад
На мобильной версии браузера или вообще?
робот д24 Мудрец (10883) alm alm, на самом деле по спецификации везде. То что это у вас на пк работает это неправильно.
alm almЗнаток (285) 1 месяц назад
Т.е в спецификации указанно, что для использования модулей js они обязательно должны находиться на сервере?
робот д24 Мудрец (10883) alm alm, нет. У них должен быть тип text/javascript а сделать такой тип без бекенда нельзя
alm almЗнаток (285) 1 месяц назад
Всё разобрался! И да на декстопе все-же не работает :) Оказывается у меня был запущен локальный сервер.
Создал сервак на телефоне и всё равно также ошибка :)
Остальные ответы
Похожие вопросы