Когда на локальном service-worker.js
загружается и работает нормально, но на реальном сервере он не загружается, и я получаю эту ошибку в консоли:
The script has an unsupported MIME type ('text/x-js').
Failed to load resource: net::ERR_INSECURE_RESPONSE
Uncaught (in promise) DOMException: Failed to register a ServiceWorker: The script has an unsupported MIME type ('text/x-js').
Существует перенаправление с http на https с .htaccess
который выглядит так:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Но, в конце концов, я не могу обдумать это.
Есть идеи?
Ваш живой сервер должен вернуть HTTP- content-type
заголовка ответа HTTP со значением "application/javascript". Вместо этого он возвращает "text/x-js". В идеале UTF8 также должен поддерживаться. Попробуйте добавить эти строки в .htaccess
чтобы исправить тип MIME для всех *.js URI:
AddType application/javascript .js
AddCharset utf-8 .js
Проверьте заголовки ответов HTTP в Chrome DevTools, чтобы убедиться, что сервер отвечает заголовком content-type: text/javascript; charset=utf-8
content-type: text/javascript; charset=utf-8
когда вы запрашиваете URL-адрес service-worker.js