2015-04-07 78 views
1

我简化了代码,希望能够更容易理解。jQuery Datepicker在Safari中工作,但不是FF或Chrome

HTML

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script> 

<script src="script.js"></script> 

<link rel="stylesheet" type="text/css" media="all" 
     href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/smoothness/jquery-ui.css"/> 

<div type="text" id="datepicker"> 

的Javascript

$(function() { 
$("#datepicker").datepicker(); 
}); 

我已经上传HTML和我校的托管空间here javascript文件两者。当我访问Safari上的链接时,日历显示正常,但是当我在Firefox或Chrome上打开时,没有任何反应。

任何帮助,将不胜感激!

回答

0

您的学校托管使用SSL,因此它是一个https://链接。

当用户访问通过HTTP提供的页面时,他们的连接对于窃听和中间人攻击是开放的。
当用户访问通过HTTPS提供的页面时,它们与Web服务器的连接将通过SSL进行身份验证和加密,从而保护您免受窃听者和中间人攻击。

但是,如果HTTPS页面包含HTTP内容,即使通过HTTPS提供主页面,攻击者也可以读取或修改HTTP部分。

当HTTPS页面包含HTTP内容时,我们称该内容为“混合”。用户正在访问的网页只是部分加密的,因为其中一些内容是通过HTTP未加密检索的。

Chrome和Firefox现在有Mixed Content Blockers,可阻止HTTPS页面上的某些HTTP请求。

出于安全原因,当加载这些脚本的页面使用https时,Firefox和Chrome将阻止任何未从https地址加载的脚本。

要解决它,只需从

http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js 

改变你的脚本的URL对

https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js 

谷歌支持。
并使用当前版本的jQuery,版本1.4已有五十年的历史了!

+0

我知道这是这样简单的事情,但无法弄清楚我的生活。你是一个拯救生命的人! – pozufu

相关问题