Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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导入的最佳实践是什么?_Javascript_Php_Jquery_Wordpress_Web Frontend - Fatal编程技术网

javascript导入的最佳实践是什么?

javascript导入的最佳实践是什么?,javascript,php,jquery,wordpress,web-frontend,Javascript,Php,Jquery,Wordpress,Web Frontend,好的,让我们假设我们正在制作一个wordpress主题。我们有很多javascript模块,如滑块、旋转木马或ajax加载元素或表单控件等。我的主要方法是将所有javascript代码放入main.js文件中。在main.js中,我有一个类似这样的代码 $(".slider").startSlider(); 我将main.js导入所有页面。所以,如果其中一个页面有一个元素,即类是“slider”,那么它们就可以完美地工作。但我很好奇这是不是真正的方法?如果您没有在页面中使用任何javascri

好的,让我们假设我们正在制作一个wordpress主题。我们有很多javascript模块,如滑块、旋转木马或ajax加载元素或表单控件等。我的主要方法是将所有javascript代码放入main.js文件中。在main.js中,我有一个类似这样的代码

$(".slider").startSlider();
我将main.js导入所有页面。所以,如果其中一个页面有一个元素,即类是“slider”,那么它们就可以完美地工作。但我很好奇这是不是真正的方法?如果您没有在页面中使用任何javascript模块,那么所有javascript代码仍然会导入您的页面。你有什么不同的方法吗?

你可以这样做

if ($(".slider").length>0) { 
  jQuery.getScript("slider.js")
    .done(function() {
      $(".slider").startSlider();
  });
}
你可以

if ($(".slider").length>0) { 
  jQuery.getScript("slider.js")
    .done(function() {
      $(".slider").startSlider();
  });
}

您确实需要熟悉
wp\u enqueue\u script()
的工作原理,以便根据需要从主题函数中添加脚本

对于滑块示例,可以从模板函数或短代码函数中添加所需的脚本


参考资料:

您确实需要熟悉
wp\u enqueue\u script()
的工作原理,以便根据需要从主题函数中添加脚本

对于滑块示例,可以从模板函数或短代码函数中添加所需的脚本



参考:

把它放在
页眉
页脚
没有一个正确的方法。您要么在不需要的页面上加载JS(这会消耗CPU和带宽(可以通过缓存抵消))或者为确实需要它的页面添加一个额外的HTTP请求,同时使代码更加复杂,因为您最终需要跟踪额外的脚本元素。将它放在
页眉或
页脚中没有一种真正的方法。你要么在不需要JS的页面上加载JS(这会消耗CPU和带宽(可以通过缓存抵消)),要么为确实需要JS的页面添加额外的HTTP请求,同时使代码更加复杂,因为你需要跟踪额外的脚本元素。这似乎更合适,因为你检查是否有滑块,但是你知道这比仅仅写“$(“.slider”).startSlider();”要快得多吗还是不?它看起来比较慢。如果slider.js已经加载,那么是的,启动它当然会更快。不过,所有其他页面也将加载slider.js。在这种情况下,这似乎更合适,因为您要检查是否有slider,但您知道这比只写“$(“.slider”).startSlider();”要快得多吗还是不?它看起来比较慢。如果slider.js已经加载,那么是的,启动它当然会更快。然而,所有其他页面也将加载slider.js,在这种情况下,为什么投票被否决?@mplungjan也在想同样的事情,因为我可以想象这是wordpress脚本管理的最佳实践方法。我不做WP,所以我只给出了一个jQuery替代方案——这也被否决了。首先,我很好奇你的话wordpress是这样的:如果使用这个短代码,导入这个javascript文件。其次,这不是wordpress的特殊问题,它只是一个例子。我想了解的不仅仅是获取代码的方法/方法。所以我可以同时使用wordpress和定制php脚本。我的答案肯定是wordpress特有的,因为问题和标签中提到了这一点。多年来,有太多的脚本冲突和重复,这就是为什么要实现一个可靠的脚本管理器为什么会被否决?@mplungjan想知道同样的事情,因为我可以想象这是一个wordpress脚本管理的最佳实践方法。我不做WP,所以我只给出了一个jQuery替代方案——这也被否决了。首先,我很好奇你的话wordpress是这样的:如果使用这个短代码,导入这个javascript文件。其次,这不是wordpress的特殊问题,它只是一个例子。我想了解的不仅仅是获取代码的方法/方法。所以我可以同时使用wordpress和定制php脚本。我的答案肯定是wordpress特有的,因为问题和标签中提到了这一点。多年来,有太多的脚本冲突和重复,这就是为什么要实现一个可靠的脚本管理器