谷歌托管的图书馆;不起作用

Google hosted libraries don't work

本文关键字:不起作用 图书馆 谷歌      更新时间:2023-09-26

我想为我的网站使用谷歌托管的库(然后使用jQuery本地托管的jQuery UI)。我把脚本标签粘贴到头部,当我写一个部分jQuery时,我得到了错误:

ReferenceError:$未定义

这是我的代码:

<!DOCTYPE html>
<html>
<head>
    <title>slider</title>
    <link rel="stylesheet" href="index.css"/>
    <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>
<body onload="slider();">
    <div class="slider">
        <img id="1" src="img/1.jpg" border="0" alt="1"/>
        <img id="2" src="img/2.jpg" border="0" alt="2"/>
        <img id="3" src="img/3.jpg" border="0" alt="3"/>
    </div>
    <div class="shadow"></div>
    <script src="js/slider.js"></script>
</body>
</html>

我做错了什么?

我认为您可能有一个静态站点(没有运行web服务器),因此您需要在脚本引用中指定httphttps

原因是,您可以避免在脚本参考中设置httphttps,因为稍后浏览器将根据您的web服务器正在使用的协议为您执行此操作,但如果您运行的是静态网站,则没有浏览器可以采用的协议(URL中没有http或https),因此无法解析脚本src。

另一个问题可能是设置脚本的顺序。我认为jQuery应该在JQueryUI之前加载。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
如上所述,JQuery必须在JqueryUI之前调用,因为UI依赖于JQuery。是的,如果你的网站运行在http中,包括http;如果你使用https,则包括https。

当本地脚本在jquery定义为"加载"之前运行时,可能会发生此错误。请记住将jQuery代码封装在onload语句中。

$(function(){
    // jQuery code here!!
})();

查看jQuerys文档了解更多信息。