如何在HTTPS站点上运行HTTP源JavaScript?

时间:2017-04-16 19:39:55

标签: javascript jquery html http https

我正在尝试通过Cloud9在线IDE运行ConvNetJS example。包含的脚本在HTML内部时起作用,但在我按如下方式链接时不起作用:

<html>
<head>
<title>minimal demo</title>
 
<!-- CSS goes here -->
<style>
body {
  background-color: #FFF; /* example... */
}
</style>

<!-- http://jquery.com/ -->
<script type="text/javascript" src="https://code.jquery.com/jquery-latest.min.js"></script>

<!-- http://getbootstrap.com/ -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<!-- import convnetjs library -->
<script src="//cs.stanford.edu/people/karpathy/convnetjs/build/convnet-min.js"></script>

<!-- app's own JavaScript -->
<!--script type="text/javscript" src="../static/script.js"></script-->

</head>
 
<body>
<div id="egdiv"></div>
</body>
</html>

使用script.js中的javascript:

function periodic() {
  var d = document.getElementById('egdiv');
  d.innerHTML = 'Random number: ' + Math.random();
};
 
var net; // declared outside -> global variable in window scope
$(function start() {
  // this gets executed on startup
  net = new convnetjs.Net();
 
  // example of running something every 1 second
  setInterval(periodic, 1000);
});

当我通过IDE运行应用程序时,我通过控制台收到此警告:Mixed Content: The page at 'https://ide50-stephenwist.cs50.io/' was loaded over HTTPS, but requested an insecure script 'http://cs.stanford.edu/people/karpathy/convnetjs/build/convnet-min.js'. This content should also be served over HTTPS.

我如何解决这个问题?我正在使用chrome并让它运行'不安全的脚本'。感谢您阅读here's a puppy

2 个答案:

答案 0 :(得分:1)

如果没有此警告,您就无法加载不安全的内容。

当您加载一些不安全的外部内容时,您唯一能做的就是复制该内容并将其保存在您的安全域中。
这样,您就可以从安全的地址(您的)运行它。

现在cs.stanford.edu 是一个安全的网站。
因此,只需在https:前添加//cs.stanford.edu/people/karpathy/convnetjs/build/convnet-min.js,就不会有任何警告。

答案 1 :(得分:0)

如何尝试在cdn https:前添加//cs.stanford.edu/people/karpathy/convnetjs/build/convnet-min.js

https://cs.stanford.edu/people/karpathy/convnetjs/build/convnet-min.js之类的东西会阻止Chrome警告?