直接从GitHub链接JavaScript文件等热链接资源

直接从GitHub链接JavaScript文件等热链接资源,javascript,github,Javascript,Github,我问了一个问题,答案是使用原始链接: https://raw.github.com/username/repository/branch/file.js 我正在尝试使用以下内容包含脚本: <script type="text/javascript" src="https://raw.github.com/username/repo/master/src/file.js" ></script> 在index.html页面中,我想获得my-jQuery-plu

我问了一个问题,答案是使用原始链接:

https://raw.github.com/username/repository/branch/file.js
我正在尝试使用以下内容包含脚本:

<script
   type="text/javascript"
   src="https://raw.github.com/username/repo/master/src/file.js"
></script>
在index.html页面中,我想获得my-jQuery-plugin.js的最新版本。因此,我会将原始URL包含到脚本中

如何修复错误?

是,Github:

早在2011年,我们就在原始URL响应中添加了
X-Content-Type-Options:nosniff
标题,作为打击热链接的第一步。这会强制浏览器按照
内容类型
标题处理内容。这意味着,当我们为文件的原始视图设置
内容类型:text/plain
时,浏览器将拒绝将该文件视为JavaScript或CSS

但多亏了,我们可以包含GH脚本。唯一的变化是从
raw.github.com
变成
combinatronics.com

<script
   type="text/javascript"
   src="https://combinatronics.com/username/repo/master/src/file.js"
></script>

我发现最好的解决方案是使用GitHub页面:

限制是您只能使用repo中的一个分支来保存脚本(即:gh pages分支)

示例用法
将test.js脚本推送到REPO的gh pages分支

脚本位于yourusername.github.io/REPO/test.js(更新可能需要大约10分钟)

其他解决方案

如果您不更改脚本(CDN会永久缓存特定的url),这对开发和生产(使用CDN)都有好处。

还记得我在回答的最后写的关于在生产中不使用此功能的评论吗?这是因为这类事情。您将无法更改Github随这些“原始”文件发送的标题…@Lix yes。。你的预测是对的。。不幸的是……)需要提醒人们,GitHub现在没有提供内容。尽管所有者声明他们不属于GitHub,但实际GitHub站点的域名和与
raw
子域的相似性是相当误导性的,并且不是很明显。我相信所有者是个不错的家伙,但也许有一天他忘了及时更新他的域名,一些骗子打断了他的域名,砰的一声,你的网站上现在有一个恶意软件脚本。请注意,现在他们为了发展,甚至有了CDN。ressource名称仍然是相同的“username/repo/master/src/…”@Felipe谢谢。很高兴他们从旧域进行重定向。使用jsdeliver.net.RawGit的另一个非常类似的替代方案现在处于日落阶段,很快就会关闭。这五年很有趣,但一切都必须结束。在上个月内通过RawGit提供内容的GitHub存储库将继续提供服务,至少到2019年10月。不再提供其他存储库的URL。如果您当前正在使用RawGit,请尽快停止使用它。从…起
<script
   type="text/javascript"
   src="https://combinatronics.com/username/repo/master/src/file.js"
></script>
<script
   type="text/javascript"
   src="https://combinatronics.com/username/repo/master/src/file.js"
></script>
<script>
  $.getScript("https://combinatronics.com/username/repo/master/src/file.js", function () {
    /* do something when loaded */
  });
</script>