当前位置: 首页 > 知识库问答 >
问题:

当托管在Github页面上时,脚本停止工作

萧晓博
2023-03-14

我构建了一个随机句子生成器——当你点击一个HTML按钮时,它下面会生成一个随机句子。生成由一个简单的脚本和jQuery支持。

它在我的本地机器上运行良好:当我打开索引时。在浏览器中,一切都很顺利。

但一旦我上传到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 + "&nbsp;");
    jQuery("h5").append(randName + "&nbsp;");
    jQuery("h5").append(randAction + "&nbsp;");
    jQuery("h5").append(randPlace);
}

是什么导致它在本地工作,但在Github页面上不工作?

共有2个答案

晏经武
2023-03-14

今天我看到了一个类似的问题,但不是因为HTTP/HTTPS:当我发布到GitHub页面时,源HTML中的所有CR/LF字符都被删除了。对于带有结束标记的HTML来说,这可能不是什么大问题,但是当整个源页面(包括JavaScript)都在一行时,JavaScript中的任何嵌入注释都会导致所有代码(直到JavaScript结束标记)意外地被注释掉。

在这种情况下,更多的代码被视为注释:

    code...
    // a comment
    some more code...

这里有一个例子。之前,在编辑器中查看:

推送到GitHub后,CR/LF明显被GH Pages操作移除:

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

(有些不受欢迎的)解决方案是删除注释或者更好:在行的开头使用/**/注释包装器,而不是//

  • 编辑:根本原因似乎是布局:压缩;看见https://github.com/jekyll/jekyll/issues/8660
束雅达
2023-03-14

如果打开“开发人员工具”窗格(在Chrome中,右键单击页面并选择“检查”),您将在网络控制台中看到此错误:

混合内容:页面位于'https://bobbyfestgenerator.github.io/'已通过HTTPS加载,但请求的脚本不安全'http://code.jquery.com/jquery-1.10.1.min.js“。此请求已被阻止;内容必须通过HTTPS提供。

您需要通过HTTPS而不是HTTP加载脚本。

这在本地工作的原因是,您正在本地计算机上使用文件://方案(或者http://如果您有本地开发服务器)。在这种情况下,浏览器通过HTTP加载外部脚本没有问题。

但是,Github Pages通过HTTPS(安全连接)为您托管文件。出于安全原因,如果页面托管在HTTPS上,浏览器将不会通过HTTP加载脚本。

只需更改

<script src="https://code.jquery.com/jquery-1.10.1.min.js"></script>

 类似资料:
  • 日安 我不是一个专业的程序员,我没有正式学习,我目前正在自学。所以我的问题可能看起来很愚蠢,或者不明白答案。请原谅我。 好的,问题来了: 我的例子将是一个内部团队午餐花名册,这将是当地的页面,用户可以设置午餐时间,不会改变,但会在一天结束时重置。 可以通过打开页面来查看所有更改。 我想知道应该是java和html,还是应该用什么语言创建这样的页面。 诚挚的问候

  • 大家好,我试图修复产品页面上的粘性div,但当它到达页脚时,元素与我的内容重叠。我正在使用CSS和js来修复我的div 用于css 还有js 当滚动到页脚时,有没有办法停止滚动?

  • 我有一个小型开源图书馆的分叉,我正在github上工作。我想通过maven让其他开发人员可以使用它,但是我不想运行我自己的Nexus服务器,因为它是一个分叉,所以我不能轻松地将它部署到oss.sonatype.org. 我想做的是将它部署到github,这样其他人就可以使用maven访问它。最好的方法是什么?

  • 问题内容: 从这个先前提出的问题中,我已经注意到,当我将一个rich:panelMenu(在index.jsp页面中正常工作)移入another.jsp然后index.jsp使用a4j:include标记将其包括在内时,该rich:panelMenu功能将停止工作。 这是一个错误吗? 编辑1 响应代码并经过一些隔离测试后,问题似乎出在panelMenu的rich:dataTable另一个选项卡中的

  • 问题内容: 我已经使用GitHubPages托管了一个静态HTML页面。我需要在我的静态页面上添加“发送反馈”功能,用户可以在其中输入他的姓名,电子邮件,评论并单击“提交”按钮。这会将包含内容的电子邮件发送到我的电子邮件地址。这可以在GitHub上的静态HTML页面中以某种方式工作吗?GitHubPages是否支持此邮件功能? 我还想知道GitHub Pages服务器可以基于其使用的基础Web服务

  • 我知道可以使用或的MD语法将图像放置在MD中,但我很难将SVG放置在代码托管在GitHub上的MD中。 最终使用rails3,并且现在经常更改模型,所以我使用RailRoady生成模型的模式图的SVG。我希望将SVG放在readme.md中并显示出来。当我在本地打开SVG文件时,它确实起作用,那么我如何让浏览器呈现MD文件中的SVG呢?考虑到代码在完成之前是动态的(似乎永远不会),将SVG托管在一

  • 我在IE上的css悬停有问题。 简化;我基本上有一个容器div,它将在悬停时显示一个小的div,里面有一些标记中选择一个,:hover由于某种原因将不再工作,div将消失。 在chrome/firefox等中尝试此示例以查看所需的结果&然后在IE11中再试一次以查看问题所在。 null null

  • 正如标题所说,我想在Github页面上创建交互式R标记文件(意思是它有闪亮的应用程序嵌入其中)。在Github页面中可以这样做吗?如果是,我该如何做;如果不是,什么是最好的(免费)方式来托管交互式RMD/Shiny页面?