正如@bungeshea已经说过的,用户方面发生的事情是离题的。一旦用户加载了文件,它将在浏览器缓存中保留一段时间,因此您不必担心双重加载的文件。
但让我们看看服务器端以及WordPress是如何处理这一问题的。
如果您想在您刚刚连接到的每个页面上加载脚本wp_enqueue_scripts
:
add_action( \'wp_enqueue_scripts\', \'load_fitvid\' );
function load_fitvid()
{
wp_register_script( \'fitvid\', plugins_url(\'/fitvid.js\', __FILE__) );
wp_enqueue_script( \'fitvid\' );
}
非常简单。
如果只想在有YouTube视频的情况下加载脚本,则必须连接到the_content
, 搜索具有主机名的URLyoutube.com
或youtu.be
, 检查是否WP_Embed::autoembed
激活(这会将URL转换为嵌入)并加载脚本(如果所有这些条件的计算结果为TRUE
.
这比较慢。这也不是很安全:视频的默认处理程序可能会被覆盖,并在内容解析器之后运行。
所以:是的,有区别。我会在你的情况下使用简单的方法。如果所有帖子中只有1%有视频……那么情况就不同了。我会save_post
然后更新自定义元值load_fitvid
. 在前端,我将测试该值(更快),然后加载脚本。但这在现有岗位上很难实现。