当我试图将本地JavaScript文件的链接引用更改为GitHub原始版本时,我的测试文件停止工作。错误是:

拒绝执行脚本…因为它的MIME类型(文本/纯)是不可执行的,并且启用了严格的MIME类型检查。

有没有办法禁用这种行为,或者有没有服务允许链接到GitHub原始文件?

工作代码:

<script src="bootstrap-wysiwyg.js"></script>

故障代码:

<script src="https://raw.github.com/mindmup/bootstrap-wysiwyg/master/bootstrap-wysiwyg.js"></script>

当前回答

Raw.github.com并不是真正的原始访问文件资产, 而是Rails渲染的视图。 所以访问raw.github.com比需要的要重得多。 我不知道为什么raw.github.com被实现为Rails视图。 GitHub没有修复这个路由问题,而是添加了一个X-Content-Type-Options: nosniff报头。

处理:

将脚本放到user.github.io/repo 使用第三方CDN,如rawgit.com。

其他回答

例子


原始

https://raw.githubusercontent.com/antelove19/qrcodejs/master/qrcode.min.js

cdn.jsdelivr.net

https://cdn.jsdelivr.net/gh/antelove19/qrcodejs/qrcode.min.js

这已经不可能了。GitHub明确禁用了JavaScript 盗链和较新版本的浏览器都支持该设置。

注意:Chrome和Firefox将支持nosniff头文件

或者,如果生成标记服务器端,您可以只获取和注入。 例如,在JSTL中,你可以这样做:

<script type="text/javascript">
    <c:import url="https://raw.github.com/mindmup/bootstrap-wysiwyg/master/bootstrap-wysiwyg.js" />
</script>

他们不允许盗链是有原因的,所以如果你想成为一个好公民,这可能是很糟糕的形式。我建议你缓存javascript,只在你认为合适的时候定期重新获取。

当一个文件上传到github,你可以使用它作为外部源或免费托管。Troy Alford在上面已经解释过了。但是为了让它更简单,让我告诉你一些简单的步骤,然后你可以在你的网站上使用一个github原始文件:

这是你的文件链接:

https://raw.githubusercontent.com/mindmup/bootstrap-wysiwyg/master/bootstrap-wysiwyg.js

现在要执行它,你必须删除https://和点(.)在原始和githubusercontent之间

是这样的:

rawgithubusercontent.com/mindmup/bootstrap-wysiwyg/master/bootstrap-wysiwyg.js

现在,当你访问这个链接时,你会得到一个链接,可以用来调用你的javascript:

这是最后一个链接:

https://rawgit.com/mindmup/bootstrap-wysiwyg/master/bootstrap-wysiwyg.js

类似地,如果你托管一个css文件,你必须这样做如上所述。这是最简单的方法来获得简单的链接来调用你的外部css或javascript文件托管在github上。

我希望这对你有帮助。

其引用形式

我发现错误是由于文件开头的注释导致的,你可以解决这个问题,只需创建自己的文件,不加注释,并推送到git,它就不会显示错误

为了证明你可以尝试这两个文件的相同代码的容易分页:

没有评论

与评论