我正在尝试将GDPR plugin v2.0.6添加到一个旧的WordPress网站上,该网站已由不同的人维护了大约7年 . 那些人不在我现在工作的公司里 .
安装此插件时,我发现错误说
未捕获的TypeError:e(文档).on不是函数
在我打开网站的 gdpr-public.js
文件中 .
将代码从 $(document).on
更改为 jQuery(document).on
后,此错误消失 . 但是修改插件中的代码并不是我们鼓励做的事情 .
WordPress的版本是4.7 . PHP的版本是 5.4
根据这个article,似乎WordPress最初只支持 jQuery(document).on
. 人们必须添加额外的代码才能使 $(document).on
正常工作 .
我也尝试过安装GDPR插件到一个全新的WordPress 4.7 . 但它没有显示错误:
未捕获的TypeError:e(文档).on不是函数
什么可能导致 $(document).on
无法执行?
------------------------------编辑------------------- -------------
WordPress网站有一个自定义主题 . 它似乎没有在主题中使用默认的jQuery . 因为我在 wp-content/themes/customTheme/functions.php
下找到了以下代码
// Load jQuery
if ( !is_admin() ) {
wp_deregister_script('jquery');
wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"), false);
wp_enqueue_script('jquery');
}
当我删除此代码时,访问网站时会出现不同的错误:
看起来很难处理这个遗留网站 .
1 回答
如果
console.log(typeof $)
是undefined
,您可以尝试将其指向jQuery,如下所示:或更好
确保jQuery已经加载 .