当我试图将本地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.githubusercontent.com文件的X-Content-Type-Options响应头。有两个浏览器扩展可以修改响应头。

请求:Chrome和Firefox 修改头值:Firefox

使用请求方式删除X-Content-Type-Options响应头

为您的浏览器请求安装 开放规则页面 单击“创建规则”并选择“修改头部” 在Source字段中输入Url -> Contains -> raw.githubusercontent.com 在Response Headers部分,Remove -> X-Content-Type-Options

如何测试

我创建了一个简单的JS小提琴来测试我们是否可以使用原始github文件作为我们代码中的脚本。这里是小提琴与以下代码

<center id="msg"></center>

<script src="https://raw.githubusercontent.com/sachinjain024/practicebook/master/web-extensions-master/storage/background.js"></script>
<script>
try {
  if (typeof BG.Methods !== 'undefoned') {
    document.getElementById('msg').innerHTML = 'Script evaluated successfully!';
  }
} catch (e) {
  document.getElementById('msg').innerHTML = 'Problem evaluating script';
}
</script>

如果您看到“脚本评估成功!”,这意味着你可以在你的代码中使用原始的github文件 否则,问题评估脚本表明有一些问题,而从原始的github源执行脚本。

注意:这将只在您的机器上工作,因此您将无法部署到生产环境。这种方法允许您快速使用任何Github存储库中的文件,而没有太多麻烦。

免责声明:我是Requestly的作者,所以你可以责怪任何你不喜欢的东西。

其他回答

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

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

例子


原始

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

cdn.jsdelivr.net

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

当一个文件上传到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="text/plain" src="http://raw.githubusercontent.com/user/repo/branch/file.js"></script> . 由GitHub提供服务,非常可靠。 与文本/平原 没有文本/平原

您还可以使用浏览器扩展来删除raw.githubusercontent.com文件的X-Content-Type-Options响应头。有两个浏览器扩展可以修改响应头。

请求:Chrome和Firefox 修改头值:Firefox

使用请求方式删除X-Content-Type-Options响应头

为您的浏览器请求安装 开放规则页面 单击“创建规则”并选择“修改头部” 在Source字段中输入Url -> Contains -> raw.githubusercontent.com 在Response Headers部分,Remove -> X-Content-Type-Options

如何测试

我创建了一个简单的JS小提琴来测试我们是否可以使用原始github文件作为我们代码中的脚本。这里是小提琴与以下代码

<center id="msg"></center>

<script src="https://raw.githubusercontent.com/sachinjain024/practicebook/master/web-extensions-master/storage/background.js"></script>
<script>
try {
  if (typeof BG.Methods !== 'undefoned') {
    document.getElementById('msg').innerHTML = 'Script evaluated successfully!';
  }
} catch (e) {
  document.getElementById('msg').innerHTML = 'Problem evaluating script';
}
</script>

如果您看到“脚本评估成功!”,这意味着你可以在你的代码中使用原始的github文件 否则,问题评估脚本表明有一些问题,而从原始的github源执行脚本。

注意:这将只在您的机器上工作,因此您将无法部署到生产环境。这种方法允许您快速使用任何Github存储库中的文件,而没有太多麻烦。

免责声明:我是Requestly的作者,所以你可以责怪任何你不喜欢的东西。