WordPress异步加载JS代码版

发布时间:2012-09-14 5:24:30

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

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

// 异步加载JS
add_filter( 'script_loader_tag', 'async_script', 10, 3 );
function async_script( $tag, $handle, $src ) {
    $zm_method = 'async';// 可将“async”改为“defer”
    $zm_exclusions = 'jquery.min.js,script.js';// 排除的JS
    $array_exclusions = !empty( $zm_exclusions ) ? explode( ',', $zm_exclusions ) : array();
    if ( false !== $zm_enabled && false === is_admin() ) {
        if ( !empty( $array_exclusions ) ) {
            foreach ( $array_exclusions as $exclusion ) {
                $exclusion = trim( $exclusion );
                if ( $exclusion != '' ) {
                    if ( false !== strpos( strtolower( $src ), strtolower( $exclusion ) ) ) {
                        return $tag;
                    }
                }
            }
        }
        $tag = str_replace( 'src=', $zm_method . "='" . $zm_method . "' src=", $tag );
        return $tag;
    }
    return $tag;
}

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

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

需要说明的是:这个异步或推迟加载JS,并不会对网页实际打开速度产生影响,只是让网页内容在JS文件加载完之前,呈现给浏览者,让用户有个更好的体验,并不能真的提高网页加载速度。

相关文章

写给所有做网站的朋友的一封信

写给所有做网站的朋友的一封信

现在就开始执行“1+N”营销推广和没有开始执行的人,一两天看不出任何区别; 一两个月看来差异也是微乎其微的;但在2-5年的长远时间来看的时候,你的高质 量询盘不断增加,你的互联网资产已经建立完成,对手已经很难匹敌,现在你看到这段文字的时候就是最好的开始,现在就是最好的时候,马上开始“1+N”体系的整体营销推广吧,我们和你一起,开创互联网营销大未来!

点击查看详情

准备开启WordPress网站建设推广?

我们相信高端漂亮的网站不应该是昂贵的,这就是wordpress对每个人都是免费的原因
wordpress建站免费入门,并提供价格合理的wordpress建站套餐。