当我尝试将本地JavaScript文件的链接引用更改为GitHub原始版本时,我的测试文件停止工作。错误是:
拒绝从…执行脚本,因为它的MIME类型(text/plain)无法执行,并且启用了严格的MIME类型检查。
text/plain
有没有一种方法可以禁用此行为,或者有一种服务可以链接到GitHub原始文件?
工作代码:
<script src="bootstrap-wysiwyg.js"></script>
非工作代码:
<script src="https://raw.github.com/mindmup/bootstrap-wysiwyg/master/bootstrap-wysiwyg.js"></script>
这里 是 一个很好的办法解决这一点,现在,通过使用jsdelivr.net。
步骤 :
raw.githubusercontent.com
cdn.jsdelivr.net
/gh/
branch
@version
例子 :
http://raw.githubusercontent.com/<username>/<repo>/<branch>/path/to/file.js
使用此URL获取最新版本:
http://cdn.jsdelivr.net/gh/<username>/<repo>/path/to/file.js
使用此URL获取特定版本或提交哈希:
http://cdn.jsdelivr.net/gh/<username>/<repo>@<version or hash>/path/to/file.js
对于生产环境 ,请考虑针对特定的标记或提交哈希而不是分支。使用 最新 链接可能会导致文件长期缓存,从而导致在推送新版本时不会更新链接。通过commit-hash或tag链接到文件使链接对于版本是唯一的。
为什么需要这个?
2013年,GitHub开始使用X-Content-Type-Options: nosniff,它指示更多现代浏览器强制执行严格的MIME类型检查。然后,它以服务器返回的MIME类型返回原始文件,从而防止浏览器按预期使用文件(如果浏览器接受该设置)。
X-Content-Type-Options: nosniff