【问题标题】:Defer parsing of JS adding to <link> tag延迟解析添加到 <link> 标记的 JS
【发布时间】:2017-12-13 03:02:27
【问题描述】:

您好,我已将这段代码添加到我的 wp 网站

function defer_parsing_of_js ( $url ) {
    if ( FALSE === strpos( $url, '.js' ) ) return $url;
    if ( strpos( $url, 'jquery.js' ) ) return $url;
    return "$url' defer onload='";
}
add_filter( 'clean_url', 'defer_parsing_of_js', 11, 1 );

但它似乎出于某种原因将其添加到此 link 标签中,不确定如何从 link 标签中删除它?

&lt;link rel="stylesheet" id="bfa-font-awesome-css" href="//cdn.jsdelivr.net/fontawesome/4.7.0/css/font-awesome.min.css?ver=4.7.0" defer="" onload="" media="all"&gt;

【问题讨论】:

  • 我怀疑它与cdn.jsdelivr.net 中的.js 匹配。
  • 啊,谢谢
  • 如何从添加延迟中排除 标签?

标签: php wordpress deferred


【解决方案1】:

好像找到了解决办法:

function js_defer_attr($tag){
    $scripts_to_exclude = array('.jsdelivr');
    foreach($scripts_to_exclude as $exclude_script){
        if(true == strpos($tag, $exclude_script ) )
        return $tag;
    }
return str_replace( ' src', ' defer="defer" src', $tag );
}
add_filter( 'script_loader_tag', 'js_defer_attr', 10 );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    相关资源
    最近更新 更多