当我试图将本地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>
GitHub Pages是GitHub针对这个问题的官方解决方案。
生的。githubusercontent使所有文件都使用文本/纯MIME类型,即使文件是CSS或JavaScript文件。因此,访问https://raw.githubusercontent.com/ user / repo / branch / filepath将不是正确的MIME类型,而是一个明文文件,并通过<link href="…/>或<script src="…"></script>将不工作- CSS将不应用/ JS将不运行。
GitHub Pages在一个特殊的URL上托管你的回购,所以你所要做的就是签入你的文件并推送。请注意,在大多数情况下,GitHub Pages要求你提交到一个特殊的分支,gh-pages。
在您的新站点上,通常是https:// user›.github.io/ repo›,提交到g -pages分支的每个文件(最近提交的)都出现在这个url中。所以你可以通过<script src="https:// user›.github.io/ repo›/file.js"></script>链接到你的js文件,这将是正确的MIME类型。
你有构建文件吗?
Personally, my recommendation is to run this branch parallel to master. On the gh-pages branch, you can edit your .gitignore file to check in all the dist/build files you need for your site (e.g. if you have any minified/compiled files), while keeping them ignored on your master branch. This is useful because you typically don’t want to track changes in build files in your regular repo. Every time you want to update your hosted files, simply merge master into gh-pages, rebuild, commit, and then push.
(提示:你可以通过以下步骤在同一个提交中合并和重建:)
$ git checkout gh-pages
$ git merge --no-ff --no-commit master # prepare the merge but don’t commit it (as if there were a merge conflict)
$ npm run build # (or whatever your build process is)
$ git add . # stage the newly built files
$ git merge --continue # commit the merge
$ git push origin gh-pages
当一个文件上传到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上。
我希望这对你有帮助。
其引用形式