当我试图将本地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>

当前回答

我的用例是直接从我的Bitbucket帐户加载“bookmarklets”,该帐户与Github有相同的限制。我想到的工作是AJAX的脚本和运行eval的响应字符串,下面的代码片段是基于这种方法。

<script>
    var sScriptURL ='<script-URL-here>'; 
    var oReq = new XMLHttpRequest(); 
    oReq.addEventListener("load", 
       function fLoad() {eval(this.responseText + '\r\n//# sourceURL=' + sScriptURL)}); 
    oReq.open("GET", sScriptURL); oReq.send(); false;
</script>

注意,添加sourceURL注释是为了允许在浏览器的开发人员工具中调试脚本。

其他回答

https://raw.githack.com/

发现这个网站提供了一个CDN

删除nosniff HTTP报头 修复mime类型的ext名称

这个网站:

https://rawgit.com/

注意:RawGit已经达到了它的使用寿命

我的用例是直接从我的Bitbucket帐户加载“bookmarklets”,该帐户与Github有相同的限制。我想到的工作是AJAX的脚本和运行eval的响应字符串,下面的代码片段是基于这种方法。

<script>
    var sScriptURL ='<script-URL-here>'; 
    var oReq = new XMLHttpRequest(); 
    oReq.addEventListener("load", 
       function fLoad() {eval(this.responseText + '\r\n//# sourceURL=' + sScriptURL)}); 
    oReq.open("GET", sScriptURL); oReq.send(); false;
</script>

注意,添加sourceURL注释是为了允许在浏览器的开发人员工具中调试脚本。

当一个文件上传到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上。

我希望这对你有帮助。

其引用形式

我和你有同样的问题,我所做的就是改变

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

这对我很管用。

为了让事情简单明了

// raww.githubusercontent.com——> //rawgit.com

请注意,这是由rawgit的开发托管处理的,而不是生产托管的cdn