【问题标题】:Service Worker not loading on live(https) serverService Worker 未在实时(https)服务器上加载
【发布时间】:2018-10-09 02:48:28
【问题描述】:

当在本地主机上 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]
  • 我知道这是asked before,但没有得到完全答复。
  • 我知道这可能与 .htaccess 文件有关,例如 提到了here
  • 也可能与here指出的vue.js框架有关

但最终我无法理解这一点。

有什么想法吗?

【问题讨论】:

    标签: javascript .htaccess vue.js service-worker


    【解决方案1】:

    您的实时服务器应返回值为“application/javascript”的 HTTP 响应标头 content-type。相反,它返回“text/x-js”。理想情况下,还应该支持 UTF8。尝试将这些行添加到 .htaccess 以更正所有 *.js URI 的 MIME 类型:

    AddType application/javascript .js 
    AddCharset utf-8 .js 
    

    检查 Chrome DevTools 中的 HTTP 响应标头,以确保在您请求 service-worker.js URL 时服务器以标头 content-type: text/javascript; charset=utf-8 进行响应

    【讨论】:

      猜你喜欢
      • 2017-04-11
      • 2016-07-31
      • 1970-01-01
      • 1970-01-01
      • 2019-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-27
      相关资源
      最近更新 更多