阻止WordPress从Googleapi请求外部jQuery

时间:2019-10-03 作者:Macs

我不想使用google上托管的外部jquery,而是想使用本地副本。我可以告诉wp使用本地版本,但是,我似乎无法阻止wp请求google托管的版本。当我这样做时(在functions.php中):

`function register_local_juery() {
    wp_deregister_script(\'jquery\');
    wp_enqueue_script(\'jquery\', \'url/to/local/jquery\', array(), null, true);
}
add_action(\'wp_enqueue_scripts\', \'register_local_juery\');`
这样做的结果是,wp包括这两个方面。本地和外部。如何阻止wp使用外部源?在隐私意识日益增强的时代,这难道不是一种更明显的选择吗?对googleapi的调用是否可能是由我安装的任何插件启动的?或者他们总是使用注册了wp主题的那个?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

WordPress不使用外部托管的jQuery。事实上,据我所知,WordPress core没有注册任何外部托管脚本。

WordPress捆绑了自己版本的jQuery,您只需将句柄排入队列,就可以将捆绑的版本排入队列jquery:

wp_enqueue_script( \'jquery\' );
或通过指定\'jquery\' 作为依赖项:

wp_enqueue_script( \'my-script\', \'/path/to/my-script.js\', [ \'jquery\' ] );
如果您像那样将jQuery排队,但它仍在加载外部托管的版本,那么您的主题或插件要么单独加载自己的版本,要么已经重新注册jquery 具有外部版本。找到罪魁祸首的最简单方法是停用插件,在每个插件之后检查您的站点,看看是否加载了正确的版本。

相关推荐

编辑器元素的jQuery选择器可以安全使用吗?

假设我要监视所有编辑器块。在标准编辑器(5.2.2)中,我可以使用例如$(“div.wp-block”)选择块。这是否适用于插件等,或者某些插件是否会改变编辑器块的类/id?换句话说,是否有插件/页面生成器等可以改变DOM结构,从而使块不具有“wp block”类?例如,我担心如果用户使用一个插件来改变编辑器的外观/工作方式,会破坏jQuery select?如果使用jQuery选择器获取编辑器块在某些情况下不起作用,那么有什么更好的方法可以做到这一点?我只需要监视所有用户在编辑器块中输入的文本,并与某些