我构建了一个随机语句生成器--当你点击HTML按钮时,会在它下面生成一个随机句子。这一代是由一个简单的脚本和jQuery。
它在我的本地机器上运行得很好:当我在浏览器中打开index.html时,一切都进行得很顺利。
但是,一旦我上传到GiHub并访问GitHub页面URL,生成器就会停止工作。点击按钮什么也做不了。
下面是脚本(全部包含在index.html文件中):
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>和
<script> function sentenceLoad() {
//declare arrays
var nouns = ['Mulder, Scully, and'];
var names = ['Assistant Director Skinner', 'the Cigarette Smoking Man', 'Alex Krycek'];
var actions = ['are running from alien bounty hunters', 'are tracking a shapeshifter', 'are hunting a mutant serial killer'];
var places = ['in the woods of New Jersey', 'in a government bunker', 'in Olympic National Forest'];
//shuffle through contents of each array, picking one entry per array
var randNoun = nouns[Math.floor(Math.random() * nouns.length)];
var randName = names[Math.floor(Math.random() * names.length)];
var randAction = actions[Math.floor(Math.random() * actions.length)];
var randPlace = places[Math.floor(Math.random() * places.length)];
//place the random entry into the appropriate place in the HTML
jQuery("h5").html("");
jQuery("h5").append(randNoun + " ");
jQuery("h5").append(randName + " ");
jQuery("h5").append(randAction + " ");
jQuery("h5").append(randPlace);
}是什么原因导致这个在本地工作,而不是在Github页面上工作呢?
发布于 2016-08-13 15:48:44
如果打开开发人员工具窗格(在Chrome中,右键单击页面并选择检查),您将在网络控制台中看到此错误:
混合内容:在'https://bobbyfestgenerator.github.io/‘处的页面是通过HTTPS加载的,但是请求一个不安全的脚本'http://code.jquery.com/jquery-1.10.1.min.js’。此请求已被阻止;内容必须通过HTTPS送达。
您需要通过HTTPS而不是HTTP加载脚本。
之所以在本地工作,是因为您在本地计算机上使用file://方案(如果您有本地开发服务器,则使用http:// )。在这种情况下,浏览器通过HTTP加载外部脚本没有问题。
但是,Github页面通过HTTPS (一个安全连接)承载您的文件。出于安全考虑,如果页面托管在HTTPS上,浏览器将不会通过HTTP加载脚本。
只需更改<head>标记中的代码,通过HTTPS加载脚本:
<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>发布于 2021-04-30 23:43:46
今天,我看到了一个类似的问题,但不是因为HTTP/HTTPS:当我发布到GitHub页面时,所有CR/LF字符都被删除在源HTML中。对于带有结束标记的HTML来说,也许没什么大不了的,但是当整个源页面都在一行上,包括JavaScript时,JavaScript中的任何嵌入注释都会导致所有代码(直到JavaScript结束标记)意外地被注释掉。
在本例中,some more code被视为评论:
code...
// a comment
some more code...下面是一个例子。如在编辑器中所看到的:

推到GitHub后,CR/LF显然被GH页面操作删除:

请注意,在注释之后,所有剩余的JavaScript是如何被禁用的:

(有些不想要的)解决方案是删除注释或更好的方法:在行的开头使用/*和*/注释包装器而不是//。
layout: compress;参见https://github.com/jekyll/jekyll/issues/8660https://stackoverflow.com/questions/38931964
复制相似问题