有没有办法推迟除一个脚本之外的所有脚本?

问题描述 投票:0回答:1

发现了这个很棒的代码

function js_defer_attr( $tag ){
  // add defer to all  scripts tags
  return str_replace( ' src', ' defer="defer" src', $tag );
}
add_filter( 'script_loader_tag', 'js_defer_attr', 10 );

有没有办法推迟除一个脚本之外的所有脚本?

我一直在尝试使用它,但我相信它会一直推迟加载脚本

javascript
1个回答
0
投票

Filter script_loader_tag 还有 $handle 参数,因此您可以将其添加到您的函数中并相应地检查它:

function js_defer_attr( $tag, $handle ) {
    // add defer to all scripts tags except the evil one
    if ( 'evil' !== $handle ) {
        return str_replace( ' src', ' defer="defer" src', $tag );
    }
    return $tag;
}
add_filter( 'script_loader_tag', 'js_defer_attr', 10, 2 );
© www.soinside.com 2019 - 2024. All rights reserved.