WordPress异步加载JS代码版

上篇 《WordPress异步加载JavaScript插件:Async JavaScript》推荐了一款异步加载JavaScript的插件,如果有童鞋不喜欢用插件,可以用下面这段从插件中提取出来的代码,也能达到使用插件相似的功能。

将下面代码添加到当前主题functions.php中:

    1. // 异步加载JS
    2. add_filter( ‘script_loader_tag’, ‘async_script’, 10, 3 );
    3. function async_script( $tag, $handle, $src ) {
    4.     $zm_method = ‘async’;// 可将“async”改为“defer”
    5.     $zm_exclusions = ‘jquery.min.js,script.js’;// 排除的JS
    6.     $array_exclusions = !empty( $zm_exclusions ) ? explode( ‘,’, $zm_exclusions ) : array();
    7.     if ( false !== $zm_enabled && false === is_admin() ) {
    8.         if ( !empty( $array_exclusions ) ) {
    9.             foreach ( $array_exclusions as $exclusion ) {
    10.                 $exclusion = trim( $exclusion );
    11.                 if ( $exclusion !=  ) {
    12.                     if ( false !== strpos( strtolower( $src ), strtolower( $exclusion ) ) ) {
    13.                         return $tag;
    14.                     }
    15.                 }
    16.             }
    17.         }
    18.         $tag = str_replace( ‘src=’http://xzgzs.com/,%C2%A0$zm_method%C2%A0.%C2%A0“='” . $zm_method . “‘ src=”http://xzgzs.com/,%C2%A0$tag%C2%A0);

%0A

  1.         return $tag;
  2.     }
  3.     return $tag;
  4. }

代码版只是将 Async JavaScript 插件核心功能提取出来,原插件其实用起来更加方便,能兼容著名网页压缩插件:Autoptimize ,并具备部分调试功能。

WordPress异步加载JS代码版

async属性是HTML 5新增的,只有在支持HTML 5的现代浏览器才会有效果,至于效果如何本人没实际测试过。

正文完
 0