几个优化WordPress中JavaScript加载体验的插件介绍
《几个优化WordPress中JavaScript加载体验的插件介绍》要点: WordPress 本身以及主题和插件通常需要加载一些 JavaScript 来实现某些特殊功能.为了最大限度地保证兼容性,不至于出现 JavaScript 失效的情况,所以一般在页头加载 JavaScript 文件.但是根据 Yahoo 开发者论坛的建议,加载 JavaScript 应该尽量在页尾以提高页面的显示(响应、渲染)速度.本文根据作者的使用经验介绍几个相关插件,并说明如安在某些特殊页面仍然在页头加载 JavaScript.PHP实例 下面先简单介绍几个相关的优化 JavaScript 的 WordPress 插件及特点,然后演示如何处理一些特殊情况.PHP实例 一. 优化JavaScript的WordPress插件 1. WP Minify WP Minify 能够抓取生成的 WordPress 页面中的 JS/CSS 文件,将文件列表传递给 Minify 引擎.Minify 引擎处理后返回一个加强、精简并经过压缩的 JavaScript 或样式表文件(CSS),由 WP Minify 将其替换到 WordPress 页头中.PHP实例 其主要特点是:PHP实例
2. Autoptimize Autoptimize 整合、精简并压缩所有的 JS 和 样式表(CSS)文件,增加缓存过期标志.然后将样式表文件放到页头(同样是为了提高页面加载效率),并将 JS 文件放到页尾.它还能够精简 HTML 代码,给你的页面瘦身.不过我觉得给 HTML 页面瘦身作用不是很明显,只要你的服务器开启了 Gzip 压缩特性就没必要这么做了.PHP实例 默认情况下,Autoptimize 会依照上面介绍的方式优化所有 HTML/CSS/JavaScript .PHP实例 我个人觉得,Autoptimize 是比 WP Minify 更好用的 WordPress 优化插件.PHP实例 3. JavaScript to Footer 但是它仅仅优化 JavaScript 的加载位置,也就是将所有在 WordPress 中正确声明了的 Javascript 文件都给移到页面末尾来加载.它没有对 HTML 代码和 CSS 样式表文件作任何处理.PHP实例 根据 JavaScript to Footer 的源代码,它使用下面的 6 行代码来完成工作:PHP实例 remove_action('wp_head','wp_print_scripts'); remove_action('wp_head','wp_print_head_scripts',9); remove_action('wp_head','wp_enqueue_scripts',1); add_action('wp_footer','wp_print_scripts',5); add_action('wp_footer',5); 如果有需要,可以在某个特定 WordPress 模板的 wp_head() 函数前加入下面的代码,将上述过程逆转过来,也就是使之失效,恢复成了原来的加载位置:PHP实例 remove_action('wp_footer',5); remove_action('wp_footer',5); add_action('wp_head','wp_print_scripts'); add_action('wp_head',9); add_action('wp_head',1); 当然只是说某些特定的页面模板,如果是所有页面,那干脆禁用该插件好了 :DPHP实例 二. 使用办法 你的页面模板中是否使用了大量的 HTML 注释、空格、空行等标记?如果没有,那么你就不需要为了一点点(开启 Gzip 压缩时通常 1% 以下)的带宽节省而使用 HTML 精简功能; 三. 特殊情况处理 有时候我们可能会在 wp_footer 函数出现之前就需要用到某些 JavaScript,比如 jquery.js 文件.PHP实例 这样的情况也是很常见的.比如我单独创建了一个链接页面,在这个页面中我使用了 jQuery 办法来获取链接网站的 favicon.很显然,我只需要在这唯一一个页面使用这部分代码,所以将这段代码直接放在这个页面模板中是最好的做法.问题来了:这部分内容显然是在 wp_footer 之前出现的,那么这段代码就在 jquery.js 文件之前出现了,导致该代码段实际上无法工作,因为调用 jQuery 办法的代码段必须比 jquery.js 文件后加载.PHP实例
wp_enqueue_script() 与 wp_print_scripts() 的区别是:wp_enqueue_script() 是告诉 WordPress “我在这个页面上需要用到某个 JavaScript 文件,你可要记得加载啊”.WordPress 默认在 wp_head() 中处理,而我们改为在 wp_footer() 中处理.wp_print_scripts() 则直接在你使用此办法的位置输出需要的 JavaScript 文件,而不是加入到 WordPress 的处理任务中.PHP实例 如果我们在页面的中间使用,PHP实例 <?php wp_print_scripts('jquery'); ?> 直接输出了 jquery.js 文件(通常是其压缩版本 jquery.min.js),那么即使其它的插件或者什么东西使用,PHP实例 <?php wp_enqueue_script('jquery'); ?> 告诉 WordPress 需要加载 jquery.js,WordPress 在 wp_footer() 中处理的时候也会先检查前面是不是已经有了,如果有了就不会再重新加载一次.PHP实例 四. 结论 但是如果使用的主题自己已经很简洁了,那么 JavaScript to Footer 更简单高效,也就更好.PHP实例 编程之家培训学院每天发布《几个优化WordPress中JavaScript加载体验的插件介绍》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |