jQuery in header or footer

时间:2011-09-12 作者:byronyasgur

从我的阅读来看,如果可能的话,将jquery和依赖项之类的脚本作为首选项加载到页脚中似乎是一个很好的例子;然而有两件事让我困惑。首先,wp\\u enqueue\\u script()的默认设置是将脚本放在页脚中,其次(可能是相关的)是codex

请注意,在运行wp\\u head之前,您必须将脚本排队,即使它将被放置在页脚中。

这是否意味着即使脚本设置为加载到页脚中,它仍然会在早期加载,因此我们失去了页脚放置的一些优势?

Edit - 以防万一,上述不正确的陈述将来会使任何人感到困惑。我意识到从那以后我一直在阅读the codex 错误,默认为wp_enqueue_script()NOT 将脚本放入页脚

2 个回复
最合适的回答,由SO网友:Rarst 整理而成

Codex中与脚本相关的文章中有很多残缺不全的地方(说得委婉一些)。

在此之前不应进行排队wp_head(), 应该在wp_enqueue_scripts. 从技术上讲,这是早期的内部wp_head().

这不会影响性能,因为注册/排队脚本只是向WordPress解释应该如何进行。实际脚本输出作为单独的打印操作完成。

在中查看我的答案where is the right place to register/enqueue scripts & styles 了解有关如何工作的更详细描述。

SO网友:EAMann

从我的阅读来看,如果可能的话,可以将jquery和依赖项之类的脚本作为首选项加载到页脚中

通常,将脚本放在底部以加快页面加载速度更为明智。但这也取决于您如何使用脚本以及代码在做什么。如果您尝试在内联脚本中使用jQuery(即。<script></script>) 如果不挂接文档的就绪事件,页面主体中的标记就会中断。

请记住,在您尝试使用库之前,需要先加载库。

这是否意味着即使脚本设置为加载到页脚中,它仍然会在早期加载,因此我们失去了页脚放置的一些优势?

否。您将脚本排队,并指定它将加载到页脚中。WordPress将查看它,稍后记住,并在到达wp_footer() 标签所有脚本都应与wp_enqueue_scripts 操作,而不管您希望它们实际打印到页面的什么位置。

结束