Chrome and Firefox jQuery issues



使用这个非常简单的例子,我可以说明我在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>

当我在本地服务器(MAMP(上运行它时,它使用Chrome和Firefox都可以正常工作。 但是当我将其上传到我的实时站点(托管在GoDaddy(时,jQuery脚本将无法在任一浏览器中执行。 有趣的是,Safari在MAMP服务器和实时站点上都运行良好。 有谁知道为什么Chrome和Firefox没有?

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

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

我很感激你可能有的任何见解。

问题原来是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 而在其他环境中没有类似的经验,请将检查是否有 SSL 证书添加到检查列表中。

最新更新