【问题标题】:google.load is loading the old version of jquery causing versioning issuesgoogle.load 正在加载旧版本的 jquery 导致版本控制问题
【发布时间】:2012-12-26 02:03:12
【问题描述】:

我的网页中有这两行代码:

    google.load("jquery", "1.7.0");
    google.load("jqueryui", "1.8.16");

我决定升级到新版本:

    google.load("jquery", "1.8.2");
    google.load("jqueryui", "1.9.0");

现在整个页面都中断了。当我通过查看 Sources 选项卡在 Google Chrome 中进行检查时,我看到文件的旧版本在那里。此外,当我查看控制台是否有错误时,我会收到以下错误:

未捕获的错误:模块:未找到版本为“1.8.2”的“jquery”!

未捕获的引用错误:$ 未定义

Uncaught ReferenceError: jQuery is not defined

Uncaught TypeError: undefined is not a function

注意:此问题与浏览器无关。另外,我过去已经升级,没有任何问题。这里发生了什么。我该如何解决?非常感谢!

【问题讨论】:

    标签: javascript jquery version google-cdn google.load


    【解决方案1】:

    如果你只是使用 google 对象来加载 jQuery,那么你可以直接加载 jQuery,避免任何与 google 脚本有关的问题

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

    另外,jquery 1.8 不在 Google Loader 中

    如果您直接访问https://www.google.com/jsapi,您将在底部看到所有受支持的版本,并且 1.8.1 不存在。

    【讨论】:

    • 这确实解决了问题。因此问题似乎与谷歌加载​​器有关。但是,它过去对我有用。
    • 是的,它中断的原因是它不包含在 google 加载程序中。我猜谷歌有两个不同的人负责更新 cdn 和更新谷歌加载器,看起来,要么他们不互相交谈,要么负责谷歌加载器的人没有更新他的代码。我假设如果更新了 cdn,加载器也会更新。我的大错。
    • 您应该将 google.load 用于 google API,如果您要使用它的只是加载另一个 API,我看不出加载整个 API 的意义......用户获得流量并获得最大速度.. 还请注意,在 cdn 页面上,他们没有说任何关于使用 google 加载程序的内容。
    【解决方案2】:

    尝试查看您的 google 变量并确保链接与此处列出的链接相似:

    https://developers.google.com/speed/libraries/devguide#jquery

    【讨论】:

      【解决方案3】:

      @note Google 的 api/library loader api 自首次发布以来显然已经发生了一些变化。 然后,我们能够 .load('jquery', '1.8') 或 .load('jqueryui', '1.9') 并且仍然获得稳定的边缘版本。现在我们似乎无法指定具有任何可靠性的修订/次要版本 - 只有主要版本,例如。 '1' 或精确的例如。 '1.8.3'。​​

      @see this page 并向下滚动到版本控制以了解详细信息。它详细说明了上述内容并“建议”通过通配符为我们的开发环境请求 api 的“测试版本”,例如。 '1.x' 用于促进反馈和早期回归测试。我的两个流行库的测试在这个结构下失败了,虽然该文档需要工作,但这可能仅适用于谷歌(而不是“托管”)库。此外,虽然只请求“1”版本有效,但您只会得到非常过时的版本。

      @net 对于托管库,我计划转储 google.load 模式并使用 src="" 方法记录 here:。 Libs 仍然可以通过标签注入异步加载,或者如果更方便的话,只需在需要之前将标签放入其中。然后,虽然谷歌速度更快,但我仍然会用我自己的副本备份这些文件,以防万一——推荐的做法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-22
        • 1970-01-01
        相关资源
        最近更新 更多