对于在亚马逊服务器上托管的网站,“拒绝执行脚本,因为其MIME类型...”

时间:2018-04-04 12:43:57

标签: javascript amazon-s3 gulp babeljs mime-types

很难解释我面临的问题,但我会尝试。

正如标题所暗示的那样,我的网站来源的一些javascript文件出现了错误的MIME类型错误。我以前没有这个问题。有趣的是,它消失并自行回归。我听说这与Chrome最近因安全性而发生的变化有关。

错误表示我的脚本类型为binary/octet-stream时应为application/script。所以我将type="application/script"添加到所有脚本引用中,但错误仍然存​​在。

就项目环境而言,我使用Babel管理我的网站以及Gulp来运行任务,我使用Amazon server来托管网站并推送它Github 1}}。

我想知道是否有一种方法可以在MIME type项目中明确配置Babel或在Amazon server端配置某些内容以适应最近的Chrome更改。

我不知道这是否足以解决这个问题,如果您需要更多信息,请告诉我。我已经谷歌搜索了一段时间,但没有遇到我的确切设置的情况。

1 个答案:

答案 0 :(得分:0)

它与脚本的type属性无关。

Content-Type是您在请求文件时从服务器发送到客户端的标头。它告诉客户端它请求了哪种文件。

几个月前,浏览器会假设脚本src中的任何网址都是Javascript文件。它最近成为要求这些文件具有Javascript内容类型。 (内容类型与文件扩展无关。)

Github不是CDN,您不应该在页面中链接到Github的Javascript文件。为了防止人们滥用他们的服务器,Github(和其他人)现在使用纯文本内容类型提供原始Javascript文件(github.io除外)。