J'ai lu Comment ajouter la balise defer = "defer" dans les javascripts de plugins? et le code @toscho posted fonctionne bien pour différer certains fichiers js ou différer TOUS les fichiers js en commentant la ligne contact-form-7, mais je dois différer tous les fichiers js sauf 1 ou 2. Il est certain que j’ai besoin d’exclure jquery.min car cela provoque l’arrêt du plug-in Revolution Slider lorsqu'il est différé.
Alors, comment pourrais-je écrire une condition dans le code suivant pour exclure certains fichiers js? Par exemple, si je voulais exclure jquery.min et 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 );
Je suppose que vous essayez de définir différer pour chaque JS exclure jquery.min et jquery.ui.core.min.
Sur la base de cela, j'ai apporté des modifications à votre code et cela va définir différer pour tous les fichiers JS exclure les fichiers d'exemple donnés jquery.min et jquery.ui.core.min.
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 );
Ci-dessus, définissez defer = 'différer' pour tous les JS, à l'exception de 'jquery.ui.core.min' et de 'jquery.min'. Bonne chance!
Merci!
J'utilise ce code, j'espère que cela vous aidera.
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 );