我刚刚使用github页面创建了一个SPA。
很明显,包含一个.html
和两个.js
文件
我主要使用d3.js
我在本地主机上启动没有问题,但是当我在github页面上部署它时有问题
我有两个错误:
无法找到变量:$
和
无法加载资源:服务器响应状态为404 (HTTP / 2.0 404)
虽然我的index.html包含jquery
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
https://zkid18.github.io/data_visualization_project/ https://github.com/zkid18/data_visualization_project 怎么了?
答案 0 :(得分:2)
如果您在共享的链接上打开开发工具控制台,则出现以下错误:
Mixed Content: The page at 'https://zkid18.github.io/data_visualization_project/' was loaded over HTTPS, but requested an insecure script 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'.
This request has been blocked; the content must be served over HTTPS.
因此,在这种情况下,解决方案是通过HTTPS加载外部资源,因为这是GitHub托管的内容。例如:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
如果页面是通过HTTPS加载的,那么它所使用的每个资源也应该通过HTTPS加载。
这背后的原因是,否则中间人可以替换资源(或者在浏览器中利用缓冲区溢出问题来执行代码)和脚本执行不同的事情(例如泄漏数据到第三方)。
您可以阅读有关此in this article on the Mozilla site的更多信息。
希望有所帮助:)