【问题标题】:jQuery oddity in WordpressWordpress 中的 jQuery 古怪之处
【发布时间】:2010-11-30 17:06:41
【问题描述】:

我开始使用 Wordpress 并尝试使用 jQuery 作为我选择的 JavaScript 库。我已经用wp_enqueue_script 加载了它,但是由于某种原因,当页面实际加载$ 函数时,它的行为就像在原型中一样(单个美元符号是“按 ID 获取”,$$ 是CSS 选择器系统)。

我很困惑为什么,因为我在服务器的响应中找不到加载原型的指令来自的任何地方;头部或正文中没有 <script> 标记指向库,并且 Firebug 的已加载脚本列表不包括它。有没有其他人遇到过这个问题,如果有,Prototype 隐藏在哪里?

更新

有了想法后,我尝试了一些方法 - $$$ 行为是 Wordpress 的 jQuery 1.4.2 副本的一部分:从 Google 的 CDN 加载脚本解决了这个问题。所以新的问题是,“为什么 Wordpress jQuery 与普通的 jQuery 不同?”

【问题讨论】:

  • 页面链接可能会有所帮助。仅仅因为它“行为”像原型,并不意味着它是;也许另一个脚本正在实现 $$$ 行为。
  • 很遗憾,它还没有上线。但是,该站点声称要加载的唯一脚本是 jQuery v1.4.2,因此即使它不是 Prototype,也仍然有问题。
  • 脚本的源 URL 是什么?你检查过它的内容吗?页面上是否有任何其他脚本?
  • 最初的 URL 是由 Wordpress 使用 wp_enqueue_script 自动生成的;但是,删除该呼叫并使用 Google CDN 解决了​​该问题。该页面没有加载其他脚本。

标签: jquery wordpress


【解决方案1】:

“为什么 Wordpress jQuery 与普通 jQuery 不同?”

WordPress 在 no conflict mode 中加载 jQuery - 页面上的另一个脚本肯定是在修补 $ 吗?

【讨论】:

  • 这是我的想法,但我无法弄清楚 那个 脚本的来源。我什至查看了是否出于某些不正当原因将 Prototype 包含在内,但它没有...
【解决方案2】:

为了调试,我可能会尝试一些事情:

  • 将页面另存为 -> 网页,完成。在结果目录中搜索“原型”。

  • 然后开始修改您保存的页面副本。您可以在文档头部的不同位置插入<script> 标签,试图找出$ 是在什么位置设置的,或者它的行为在什么位置发生变化。

  • 或者,在 Firefox 中,使用 this.watch("$", function () { alert(Error().stack); }) 查看设置位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    • 2019-10-04
    • 2011-05-01
    • 2011-10-28
    • 1970-01-01
    相关资源
    最近更新 更多