当我尝试将本地 JavaScript 文件的链接引用更改为 GitHub 原始版本时,我的测试文件停止工作。错误是:
拒绝执行来自...的脚本,因为它的 MIME 类型(text/plain
) 不可执行,并且启用了严格的 MIME 类型检查。
有没有办法禁用此行为,或者是否有允许链接到 GitHub 原始文件的服务?
工作代码:
<script src="bootstrap-wysiwyg.js"></script>
非工作代码:
<script src="https://raw.github.com/mindmup/bootstrap-wysiwyg/master/bootstrap-wysiwyg.js"></script>
There is一个很好的解决方法,现在,通过使用jsdelivr.net.
Steps:
- 在 GitHub 上找到您的链接,然后单击“原始”版本。
- 复制网址。
- Change
raw.githubusercontent.com
to cdn.jsdelivr.net
- Insert
/gh/
在您的用户名之前。
- 去除
branch
name.
- (可选)插入version你想链接到,如
@version
(如果您不这样做,您将得到latest- 这可能会导致长期缓存)
Examples:
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
适用于生产环境,考虑针对特定标签或提交哈希而不是分支。使用latest链接可能会导致文件长期缓存,导致您的链接在您推送新版本时无法更新。通过提交哈希或标签链接到文件使得链接对于版本是唯一的。
为什么需要这个?
2013年,GitHub开始使用X-Content-Type-Options: nosniff
,它指示更现代的浏览器强制执行严格的 MIME 类型检查。然后,它以服务器返回的 MIME 类型返回原始文件,从而阻止浏览器按预期使用该文件(如果浏览器遵循该设置)。
有关此主题的背景信息,请参阅这个讨论话题.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)