2012-12-25 47 views
37

注意!

您不能在Github之后的this change之后直接包含Github脚本。将来自GitHub的JavaScript文件包含到HTML页面中

我们在2011年将X-Content-Type-Options: nosniff标题添加到我们的原始URL响应中,作为防止盗链的第一步。这具有强制浏览器按照Content-Type标题处理内容的效果。这意味着,当我们为文件的原始视图设置Content-Type: text/plain时,浏览器将拒绝将该文件视为JavaScript或CSS。

但也有其他选择。 检查my answer to this question


我想包括从GitHub的JavaScript文件转化为测试一个本地的HTML文件(比如在互联网上找到的图像:<img src="http://...">)。

我想是这样的:

<script src="https://github.com/[username]/[repository]/blob/master/public/[fileName].js"></script> 

的问题是,这是行不通的。我相信这是可能的。

我该怎么做?

+4

GitHub不是CDN。如果你想把它作为一个使用,请不要。 – Bojangles

+0

'submime'文本编辑器有令人敬畏的'Fetch'扩展...弹出URL并将下载任何文件或将zip解包到本地目录 – charlietfl

+0

[链接并执行托管在GitHub上的外部JavaScript文件](http:// stackoverflow.com/questions/17341122/link-and-execute-external-javascript-file-hosted-on-github) – random

回答

42

您可以用类似这样的URL来做到这一点:

https://rawgit.com/h5bp/html5-boilerplate/master/src/js/plugins.js 

注意,这是不一样的点击中GitHub上的“原始”按钮; 该按钮也会给你一个干净的文件版本,但它会发送 错误的标题。


一个警告字;该文件不是不从GitHub提供。它正在通过rawgit.com域重定向到 。如在https://rawgit.com上所述:

嘿! rawgit.com只是为了好玩,并没有以任何 的方式与GitHub关联。

请记住,该域的所有者现在在控制流量,并且 能够在他们认为合适的情况下操纵它。


使用此URL生产:

https://cdn.rawgit.com/user/repo/tag/file 
+0

@stu - 100%正确。我在回答中添加了一个注释来提及它。 – Lix

+2

这不应该工作,因为GitHub更改raw.github.com的内容类型请参阅https://github.com/blog/1482-heads-up-nosniff-header-support-coming-to-chrome-and-firefox。 ..您可以使用www.rawgithub.com – klaustopher

+0

它似乎从raw.githubusercontent.com现在 – mork

4

这应该工作:

<script src="https://raw.github.com/[username]/[repository]/[branch]/[filename].js"></script> 

这里是如何在github上重定向到所需的地址:

enter image description here

+4

服务为屏幕拍摄+1。 –

+8

这将* not *工作,因为,请参阅上面的anser(http://stackoverflow.com/a/14033306/167251) – larsmoa

0

尝试somethig这样的:

<html> 
<head> 
    <script src="https://raw.github.com/e0ne/BlogSamples/master/ModalDialog/AdvancedPopup/jquery.min.js"></script> 
</head> 

它的工作对我来说

2

这个工程即使有GitHub的近期变化:

<script> 
    $.getScript("https://raw.github.com/username/repo/master/src/script.js"); 
</script> 

PS。需要jQuery。

相关问题