Javascript 服务工作者未在实时(https)服务器上加载
当在本地主机上时,Javascript 服务工作者未在实时(https)服务器上加载,javascript,.htaccess,vue.js,service-worker,Javascript,.htaccess,Vue.js,Service Worker,当在本地主机上时,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 scrip
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]
- 我知道这个问题已经得到了解决,但还没有完全得到回答
- 我知道这可能与.htaccess文件有关,比如 提到
- 它也可能与vue.js框架有关
有什么想法吗?您的live server应该返回HTTP响应头
内容类型
,值为“application/javascript”。相反,它返回“text/x-js”。理想情况下,还应支持UTF8。尝试将这些行添加到.htaccess
以更正所有*.js URI的MIME类型:
AddType application/javascript .js
AddCharset utf-8 .js
检查Chrome DevTools中的HTTP响应头,确保服务器响应头内容类型:text/javascript;当您请求service-worker.js URL时,charset=utf-8