我按照这些步骤编写了一个演示HTML。以下是https://github.com/commonmark/commonmark.js#commonmarkjs的自述文件中的步骤:
对于客户端使用,您可以
make dist
进行制作 一个独立的JavaScript文件js/dist/commonmark.js
, 适合链接到网页,或获取最新的 从 https://raw.githubusercontent.com/jgm/commonmark.js/master/dist/commonmark.js, 或bower install commonmark
。
这是我的演示HTML。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://raw.githubusercontent.com/jgm/commonmark.js/master/dist/commonmark.js"></script>
<script>
window.onload = function() {
console.log(commonmark)
}
</script>
<body></body>
</html>
以下是我演示的JSFiddle网址:https://jsfiddle.net/y3xohp7x/
我将此HTML本地保存在名为foo.html
的文件中,并使用Firefox 55.0.1打开此本地文件。
但如果我使用Firefox 55.0.1加载它,我会在控制台中收到以下错误。
Loading failed for the <script> with source “https://raw.githubusercontent.com/jgm/commonmark.js/master/dist/commonmark.js”. foo.html:5
ReferenceError: commonmark is not defined foo.html:9:5
问题:
commonmark.js
复制到本地文件系统的情况下解决此错误?答案 0 :(得分:0)
修改强>
实际上,显然有一种方法可以为github内容执行此操作:https://rawgit.com/
此网站为您提供指向将使用正确MIME类型提供的脚本版本的链接。
所以这应该适合你加载脚本:
<script type="application/javascript" src="https://cdn.rawgit.com/jgm/commonmark.js/master/dist/commonmark.js"></script>
https://jsfiddle.net/w1uvq59r/
原始答案
原因是脚本源与标题一起发回:
"Content-Type": "text/plain"
"X-Content-Type-Options": "nosniff"
后一个标题会阻止浏览器执行脚本,因为内容类型不可执行,例如&#34; application / javascript&#34;。遗憾的是,实际上没有办法让脚本远程加载。 Here is a thread with more information on a similar problem.
据我所知,唯一的解决方案是在本地加载它,如下所示:
<script type="application/javascript" src="path/to/the/file.js"></script>