Я асинхронизирую все файлы .js, кроме одного: lazyload.js. Я хотел бы добавить условие, чтобы файл исключался только на ширину мобильного устройства. Чтобы при ширине мобильного устройства все файлы .js были асинхронными.
Это мой рабочий код
if (!is_admin()) {
add_filter( 'script_loader_tag', function ( $tag, $handle ) {
if ( strpos( $tag, "lazyload.js" ) && is_page([1111]) ) {
return $tag;
}
return str_replace( ' src', ' async src', $tag );
}, 10, 2 );
}
Чтобы добавить условие, я попытался использовать window.matchMedia
на основе информации, найденной в этой статье 1008 *. И я получил этот код, который мой functions.php
даже не хочет сохранять " из-за ошибки ".
const mq = window.matchMedia( "(max-width: 700px)" );
if (!is_admin()) {
add_filter( 'script_loader_tag', function ( $tag, $handle ) {
if ( strpos( $tag, "lazyload.js" ) && is_page([1111]) && mq.matches ) {
return $tag;
}
return str_replace( ' src', ' async src', $tag );
}, 10, 2 );
}
Я хотел бы знать, где находится ошибка в коде, который я добавил. И если исправлено, может ли window.matchMedia
решить мои условия?