私は読みます どのようにプラグインのJavaScriptでdefer = "defer"タグを追加するのですか? そして@toschoが投稿したコードはcontact-form-7行をコメントアウトすることで特定のjsファイルを延期したり、すべてのjsファイルを延期するのに適していますが、1または2以外のすべてのjsを延期する必要があります。 jquery.minを除外する必要があるため、Revolution Sliderプラグインが機能しなくなります。
それでは、特定のjsファイルを除外するには、次のコードにどのように条件を記述すればよいでしょうか。たとえば、jquery.minとjquery.ui.core.minを除外したい場合
function add_defer_to_cf7( $url )
{
if ( // comment the following line out add 'defer' to all scripts
FALSE === strpos( $url, 'contact-form-7' ) or
FALSE === strpos( $url, '.js' )
)
{ // not our file
return $url;
}
// Must be a ', not "!
return "$url' defer='defer";
}
add_filter( 'clean_url', 'add_defer_to_cf7', 11, 1 );
私はあなたがすべてのJS除外jquery.minとjquery.ui.core.minを延期しようとしていると思います。
それに基づいて、私はあなたのコードにいくつかの変更を加えました、そして、これは与えられた例ファイルjquery.minとjquery.ui.core.minを与えられたすべてのJS除外のために延期されるでしょう。
function add_defer_to_cf7( $url )
{
//If not js file OR js file with 'jquery.ui.core.min' OR 'jquery.min' name string, then no need to apply defer
if(FALSE === strpos( $url, '.js') || ((strpos( $url, 'jquery.ui.core.min') > 0) || (strpos($url, 'jquery.min') > 0))){
return $url;
}
else{
//set defer for .js files
return "$url' defer='defer";
}
}
add_filter( 'clean_url', 'add_defer_to_cf7', 11, 1 );
上記のコードセット 'jquery.ui.core.min'と 'jquery.min'を除くすべてのJSに対してdefer = 'defer'が設定されています。がんばろう!
ありがとうございます。
私はこのコードを使っています。
function defer_parsing_of_js ( $url ) {
if ( FALSE === strpos( $url, '.js' ) ) return $url;
if ( strpos( $url, 'jquery.min.js' ) ) return $url;
return "$url' defer='defer";
}
add_filter( 'clean_url', 'defer_parsing_of_js', 11, 1 );