【问题标题】:Why is Wordpress Jquery broken?为什么 Wordpress Jquery 坏了?
【发布时间】:2010-09-29 13:45:21
【问题描述】:

嗯,我对 wordpress 和 Jquery 有一个非常奇怪的问题。自从几周前我们升级主机时,ACP 中的 Wordpress Jquery 和网站上某些部分的小部件都坏了。我尝试禁用插件它是相同的。试过重装不加插件,还是一样。尝试下载和添加新的 Jquery 文件仍然相同。 ACP 的 Ajax/Jquery 部分无响应,小部件区域不可移动,加载时页面通常为白色。页脚也未加载。其他脚本在服务器上运行良好。我认为有不兼容的 PHP 扩展可能会导致这种情况。知道可能是什么问题吗?

【问题讨论】:

  • 我从未听说过与 jQuery 冲突的 PHP 扩展。如果添加自定义 JavaScript 文件会发生什么?您可以从jQuery().jquery; 获取 jQuery 版本信息。还有 jQuery 与其他 JavaScript 库(如 Prototype)发生冲突的可能性吗?请参阅api.jquery.com/jQuery.noConflict 以解决任何冲突。
  • 我用的是最新的。另外我不认为它与其他 JS 库冲突。当我尝试从 localhost 运行它时,它一切正常,它应该可以正常工作,而且它以前也可以正常工作。我也尝试添加自定义 JS 文件。是一样的。我不知道是什么原因造成的,因为它是在主机升级时开始的。其他使用 jQuery 的脚本按预期工作。 WordPress 唯一的问题。即使在全新安装之后,Jquery 似乎也未定义。

标签: jquery wordpress


【解决方案1】:

在 Firefox 中使用 Firebug 来查看正在加载或冲突的 JS。

【讨论】:

    【解决方案2】:

    尝试使用以下命令在模板头标签中加载 jquery

    <?php wp_enqueue_script("jquery"); ?>
    

    删除头部中 jquery 的所有其他详细加载说明。

    这将以 NoConflict 模式加载 jQuery。

    在这种模式下,$ 值不再是委托名称,而是必须使用 jQuery 例如:

    $(document).ready(function(){
         $(#somefunction) ...
    });
    

    变成:

    jQuery(document).ready(function(){
        jQuery(#somefunction) ...
    });
    

    【讨论】:

    • 如果我添加它,页面会变成白色。在functions.php文件和load-scripts.php中添加它。
    • 我应该补充一点,这会导致 jquery 在 NoConflict 模式下加载,因此对您使用 jquery 的方式会产生影响。我已经编辑了答案。
    猜你喜欢
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    • 2011-02-23
    • 1970-01-01
    • 2017-10-10
    • 2021-05-26
    相关资源
    最近更新 更多