由于jQuery版本冲突,在W3 Total缓存插件中添加脚本按钮无法工作

时间:2018-02-03 作者:Peter Gerhat

在试图修复我网站上的渲染阻塞问题时,我在缩小设置页面上遇到了W3 Total Cache插件的问题。

添加JS(添加脚本)和CSS(添加样式表)的两个按钮不起作用,单击它们后不会发生任何事情。

问题的原因可以在浏览器控制台错误消息中看到(WP使用jQuery1.12.4, W3TC需要jQuery<1.9)

Related question jQuery(...).live is not a function

options.js?ver=0.9.6:324 
Uncaught TypeError: jQuery(...).live is not a function
    at HTMLDocument.<anonymous> (options.js?ver=0.9.6:324)
    at i (load-scripts.php?c=0&load[]=jquery-core,utils&ver=4.8.5:2)
    at Object.fireWith [as resolveWith] (load-scripts.php?c=0&load[]=jquery-core,utils&ver=4.8.5:2)
    at Function.ready (load-scripts.php?c=0&load[]=jquery-core,utils&ver=4.8.5:2)
    at HTMLDocument.K (load-scripts.php?c=0&load[]=jquery-core,utils&ver=4.8.5:2)
options.js 导致问题的文件是这样的行吗(jQuery(...).live 自jQuery 1.9以来已被弃用):

jQuery(\'#pgcache__reject__logged_roles\').live(\'click\', function(){
        w3tc_input_enable(\'#pgcache_reject_roles input[type=checkbox]\', jQuery(\'#pgcache__reject__logged_roles:checked\').size());
    });
解决问题的最可接受和最干净的方法是什么:

是否有更新的W3TC插件

JS minify settings

1 个回复
SO网友:gidomanders

WP Admin通常自动加载迁移脚本。显然,你的主题也退出了该脚本的队列/取消了该脚本的注册。

即将发布的版本修复了在迁移脚本无法工作或未加载的情况下调用不推荐使用的live()函数的问题。

结束

相关推荐

JQuery&AJAX在WordPress中获取数据到php

我在wordpress中创建了一个自定义表,用于管理每个用户的词汇表列表。此列表在浏览器中显示为表格。我添加了一个按钮,以便用户可以从列表中删除词汇。为此,我使用jquery脚本。我检索用户id和所选词汇表的id,通过ajax将其传递给我的函数。此函数必须删除存储在数据库中的数据。在我看来,我的变量被很好地传递到函数中,但它不起作用。谁能解释一下我的错误是什么吗?以及如何检查变量是否传递良好。这里是我在“词汇表.js”中的代码 jQuery(\'#button\').click( function

由于jQuery版本冲突,在W3 Total缓存插件中添加脚本按钮无法工作 - 小码农CODE - 行之有效找到问题解决它

由于jQuery版本冲突,在W3 Total缓存插件中添加脚本按钮无法工作

时间:2018-02-03 作者:Peter Gerhat

在试图修复我网站上的渲染阻塞问题时,我在缩小设置页面上遇到了W3 Total Cache插件的问题。

添加JS(添加脚本)和CSS(添加样式表)的两个按钮不起作用,单击它们后不会发生任何事情。

问题的原因可以在浏览器控制台错误消息中看到(WP使用jQuery1.12.4, W3TC需要jQuery<1.9)

Related question jQuery(...).live is not a function

options.js?ver=0.9.6:324 
Uncaught TypeError: jQuery(...).live is not a function
    at HTMLDocument.<anonymous> (options.js?ver=0.9.6:324)
    at i (load-scripts.php?c=0&load[]=jquery-core,utils&ver=4.8.5:2)
    at Object.fireWith [as resolveWith] (load-scripts.php?c=0&load[]=jquery-core,utils&ver=4.8.5:2)
    at Function.ready (load-scripts.php?c=0&load[]=jquery-core,utils&ver=4.8.5:2)
    at HTMLDocument.K (load-scripts.php?c=0&load[]=jquery-core,utils&ver=4.8.5:2)
options.js 导致问题的文件是这样的行吗(jQuery(...).live 自jQuery 1.9以来已被弃用):

jQuery(\'#pgcache__reject__logged_roles\').live(\'click\', function(){
        w3tc_input_enable(\'#pgcache_reject_roles input[type=checkbox]\', jQuery(\'#pgcache__reject__logged_roles:checked\').size());
    });
解决问题的最可接受和最干净的方法是什么:

是否有更新的W3TC插件

JS minify settings

1 个回复
SO网友:gidomanders

WP Admin通常自动加载迁移脚本。显然,你的主题也退出了该脚本的队列/取消了该脚本的注册。

即将发布的版本修复了在迁移脚本无法工作或未加载的情况下调用不推荐使用的live()函数的问题。