Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Wordpress JS文件正在加载两次_Javascript_Jquery_Wordpress - Fatal编程技术网

Javascript Wordpress JS文件正在加载两次

Javascript Wordpress JS文件正在加载两次,javascript,jquery,wordpress,Javascript,Jquery,Wordpress,我想在WordPress安装中包括Bootstrap4。这就是我如何将它包含在子主题的functions.php中的方法 // Bootstrap 4 function bootstrap() { wp_enqueue_style('bootstrap-css', get_stylesheet_directory_uri() . '/css/bootstrap.min.css' ); wp_enqueue_script( 'jquery-slim', 'https://code.

我想在WordPress安装中包括Bootstrap4。这就是我如何将它包含在子主题的
functions.php
中的方法

// Bootstrap 4
function bootstrap() {
    wp_enqueue_style('bootstrap-css', get_stylesheet_directory_uri() . '/css/bootstrap.min.css' );
    wp_enqueue_script( 'jquery-slim', 'https://code.jquery.com/jquery-3.2.1.slim.min.js', array(), '3.2.1', true );
    wp_enqueue_script( 'popper', 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js', array('jquery-slim'), '4.0.0', true );
    wp_enqueue_script( 'bootstrap-js', 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js', array('jquery-slim'), '4.0.0', true );
}

add_action( 'wp_enqueue_scripts', 'bootstrap');
当我在pingdom或GTMetrix上测试我的站点时,他们说它加载了两次。为什么?

The following resources have identical contents, but are served from different URLs. Serve these resources from a consistent URL to save 1 request(s) and 68.0KiB.

https://code.jquery.com/jquery-3.2.1.slim.min.js
https://code.jquery.com/jquery-3.2.1.slim.min.js?ver=3.2.1

https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js
https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js?ver=4.0.0

父主题未加载任何这些文件。但是为什么popper.js没有加载两次

好的,WP本身包括jquery和bootstrap,如果你想要你的特定的,你应该取消注册核心/默认的,然后注册你的(没有jquery和bootstrap,它不会做很多):


答案在这里:

好吧,WP本身包括jquery和引导,如果你想要你的特定的,你应该取消注册核心/默认的,然后注册你的(没有jquery和引导,它不会做很多):


答案是:

浏览器扩展可能会导致Javascript和CSS文件的双重加载

因此,在向
functions.php
文件添加大量钩子之前,请尝试逐个禁用浏览器扩展,看看这是否解决了问题

以特定的开发扩展为目标,例如,这将对页面的加载产生确切的影响


我知道这是一个老话题,但我认为回答StackOveflow问题永远不会太迟,并希望这能帮助别人。

浏览器扩展可能会导致Javascript和CSS文件的双重加载

因此,在向
functions.php
文件添加大量钩子之前,请尝试逐个禁用浏览器扩展,看看这是否解决了问题

以特定的开发扩展为目标,例如,这将对页面的加载产生确切的影响


我知道这是一个老话题,但我认为现在就给StackOveflow一个答案永远都不会太晚,希望这能帮助别人。

你能评论一下
wp\u排队脚本('bootstrap js',…
看看bootstrap.js是否正在加载你能评论
wp\u排队脚本吗('bootstrap js',…
并查看bootstrap.js是否加载WordPress默认情况下不包含jQuery和bootstrap。它仅在主题/插件排队时包含。我正在使用WP Rocket,禁用插件后,js文件只包含一次。因此,我使用了“WP_register_script”而不是“WP_enqueue_script”,它可以工作。Wor默认情况下,dPress不包括jQuery和Bootstrap。它只包括主题/插件进入队列时的内容。我正在使用WP Rocket,禁用插件后,js文件只包含一次。因此,我没有使用“WP队列”脚本,而是使用“WP注册”脚本。谢谢!您的回答可能为我节省了数小时的工作时间。这是一个扩展在上,可能是它们的组合造成了这种效果。“黑暗模式”扩展可能是罪魁祸首。谢谢!你的回答可能节省了我几个小时的工作。是扩展,可能是它们的组合造成了这种效果。“黑暗模式”扩展可能是罪魁祸首。
wp_deregister_script('jquery'); //because its a Core-Registered Script
wp_register_script('jquery', 'THE PATH TO THE FILE', array(), '', FALSE);