JSFiddle脚本不适用于HTTPS

时间:2015-09-21 22:28:44

标签: javascript jquery html http

我有以下JSFiddles script,它只是实现了jQuery-UI Datepicker,以便在日期输入表单中显示日历。

这是代码

<!doctype html>
<html lang="en">
 <head>
  <meta charset="utf-8">
  <title>jQuery UI Datepicker functionality</title>
  <link href="http://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet">
  <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
  <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

  <!-- Javascript -->
  <script>
     $(function() {
        $( "#datepicker" ).datepicker();
     });
  </script>
</head>
<body>
  <!-- HTML --> 
    <p>Enter Date: <input type="text" id="datepicker"></p>
</body>
</html>

有趣的是,当我使用我在这个问题中提到的链接时,javascript不起作用,而原始链接确实有效。我发现,如果我从链接中删除https://,则javascript可以正常运行。我不太了解这个主题,以了解可能发生的事情。 https://怎么可能导致javascript错误?

是否无法访问我包含的链接?

1 个答案:

答案 0 :(得分:0)

这是Mixed Content,它是一项安全功能,可最大程度地提高页面的安全性。

正如您已经发现并提到的那样,是导致您通过http(不是https)访问的脚本资源的原因。

您有2个选项(最好是1个)。

  1. 更改要通过https调用的脚本,然后您的链接将起作用
  2. 将您的URL更改为通过http

根据下面的选项1编码。

$(function() {
    $("#datepicker").datepicker();
});
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script src="https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

<link href="https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet"/>

<p>Enter Date: <input type="text" id="datepicker"></p>