2014-12-03 94 views
0

使用这个很简单的例子,我可以说明我与Chrome和Firefox执行jQuery函数有一个问题:Chrome和Firefox jQuery的问题

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
</head> 

<body> 
<h2>This is a heading</h2> 
<p>This is a paragraph.</p> 
<p id="test">This is another paragraph.</p> 
<button>Click me</button> 

<script> 
$(document).ready(function(){ 
    $("button").click(function(){ 
    $("#test").hide(); 
    }); 
}); 
</script> 

</body> 

</html> 

当我在我的本地服务器(毫安)上运行此,使用Chrome和Firefox都可以正常工作。但是,当我将它上传到我的实时站点(托管在GoDaddy)时,jQuery脚本将不会在任一浏览器中执行。有趣的是,Safari在MAMP服务器和现场网站上都能正常工作。有谁知道为什么Chrome和Firefox不?

上面的代码是从w3schools.com复制并粘贴的,我借用它来了解我是否可以使用自己的代码复制问题。我非常惊讶地发现,我可以用这个非常简单的例子复制这个问题!有关浏览器兼容性问题的stackoverflow上有很多帖子,但浏览器兼容性似乎不太可能在这种情况下,因为当代码从MAMP服务器运行时,两个浏览器都可以工作。

我还联系了GoDaddy,询问是否有可能需要更改的环境设置。我得到的回应是,这是我的代码问题。我发现很难相信,因为我可以用w3schools.com这个非常简单的代码复制这个问题。接下来的事实是,Safari在这两种环境中都能正常工作,这让我想起了浏览器的问题。

我很感激您的任何洞察力。

+0

使用开发人员工具在Chrome上检查JavaScript控制台。这是一个微不足道的测试,我感到震惊,它不起作用。它可能是缓存(在他们的服务器端),也许他们已经增加了额外的标记,导致碰撞等 – 2014-12-03 11:46:42

+1

他们是否以任何方式修改你的页面?不幸的是,我们无法重现错误,因为*代码有效*。 – Mooseman 2014-12-03 11:46:46

+0

代码中没有错误。将此链接提供给您的GoDaddy支持。 http://jsfiddle.net/osg9crs4/1/ – Jinandra 2014-12-03 11:51:04

回答

1

问题原来是jQuery库被引用的方式。在我的例子中,来源是http :,但我的现场网站上有一个SSL证书。将地址更改为jQuery CDN到https:解决了问题。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 

它仍然好奇,Safari浏览器没有这个问题,其他浏览器。对我来说,我也很好奇,我的网站已经运行了六个月,引用了http:的jQuery CDN,其中有大量的jQuery页面,之前没有任何问题。无论如何,这个小小的改变今天就成了一招。如果您在某些环境中使用jQuery而不是其他人使用jQuery的类似经验,请添加检查是否存在证书列表中的SSL证书。

+0

现代浏览器通常不喜欢所谓的“混合内容”(即一页上的HTTP和HTTPS)。 – 2014-12-03 15:33:01