如何避免两次加载相同的脚本?

时间:2017-01-05 作者:Emin Özlem

假设这个案例是“猫头鹰旋转木马”。

1-是否应使用主题/插件前缀将其注册为“owlcarousel”或“xyz owlcarousel”?

2-如果2或3个主题/插件使用相同的句柄“owlcarousel”,它会加载一个对吗?如果是,哪一个?

3-据我所知,执行“xyz owlcarousel”是常见的做法,那么如何处理加载同一脚本的多个问题呢?正在做if(jQuery().owlCarousel) 检查执行此操作的好方法?有更好的方法吗?

4-如何避免CSS出现同样的问题?

提前感谢

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

您可以使用类似“xyz-”的前缀(基本上是namespace) 如果您使用的脚本或样式表对于您的主题/插件是唯一的,则返回句柄。猫头鹰旋转木马不是,所以只要“猫头鹰旋转木马”就可以了。如果你不想让其他加载的插件使用相同的脚本名称,从而导致你的脚本无法加载,那么你可以使用前缀(顺便提一下,这里有一个list of WordPress\'s default scripts, and the handles used for them, 向下翻页一点)。

仅使用第一个遇到的具有特定句柄的脚本。任何进一步尝试将具有相同句柄的内容排队的操作都将被忽略(参考:notes for wp_enqueue_script). 如果需要为特定句柄专门使用特定脚本(例如,加载jQuery的特殊版本,而不使用WordPress的内置版本),则必须取消现有脚本的注册,然后注册/排队。

脚本如何处理多次加载取决于脚本。如果可能发生冲突,您可以尝试加载两次特定的脚本,例如Owl Carousel(使用不同的句柄),然后看看它是否仍然可以正常工作。如果每个人都对猫头鹰旋转木马之类的东西使用一个普遍认可的把手列表,那不是很好吗

同样的规则/效果也适用于CSS样式表。

相关推荐

Enqueue scripts in the footer

我正在尝试修改页脚中排队脚本的插件,因为我的jQuery链接在页脚中。插件:add_action(\'wp_enqueue_scripts\', \'fjgwpp_addCSSandJS\'); function fjgwpp_addCSSandJS() { //Register scripts wp_register_script( \'justifiedGallery\', plugins_url(\'