Если вы заботитесь о безошибочной работе своего сайта – чистоте кода, то эта статья прямиком для вас!…
Как все мы знаем, IT технологии, это вещь динамичная… стремительно развивается: не исключение и наше веб мастеровое дело, в том плане, что нужно поспеть за этакой динамикой, и не погрязнуть в ошибках кода своего ресурса.
Нынче статья посвящена ошибкам в коде (если таковые мы наблюдаем) посредством валидатора validator.w3 Как удалить лишние – по современным требованиям валидации – атрибуты text/javascript
и text/css
из строк в исходном коде?
По тексту ниже подробнее… занавес открыт:
как удалить атрибуты сценариев js или теги css – text/javascript и text/css
Чтоб новичкам было понятно о чём идёт речь, посвятим немного времени теории ошибок:
Если открыть любую страницу сайта и заинтересованно посмотреть исходный код CTRL + U
то запросто увидим такую картину, если отыщем строки подключения библиотек jquery – ссылку на статью, описывающую правильное подключение библио отыщете чуть ниже.
<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'></script>
…теперь, неплохо бы проверить эту же страницу на валидаторе. А?
//validator.w3.org/
Как и утверждалось выше, увидим множество ошибок связанных со строками подключения js и css
и пр. и пр.
<script type="text/javascript"> src="...
<style type="text/css">img ...
Естественным логичным образом возникает вопрос, как всё этакое дело поправить? Как избавиться от сообщений валидатора, а, соответственно, от ошибок присутствия лишних атрибутов text/javascript
или type=text/css
в коде!?
Вот как раз из статьи и узнаем:
как избавится от лишних атрибутов в коде подключения JS и CSS стилей
В большинстве случаев, к примеру только, мы используем такое подключение библиотек и пр. (все подобные формы подключения решаются аналогией…)
Как понимаете, мы указываем путь, от которого следует подгружаться (в примере пользуем библиотеки Google)… Замечательно!
…вот только в исходнике – в сгенерированном коде страницы – пропишутся “ошибочные” атрибуты и, соответственно, валидатор укажет при проверке на ошибки!
wp_deregister_script( 'jquery' ); // jquery-core
wp_register_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js');
wp_enqueue_script( 'jquery' );
полезно для практики: Подключение jQuery библиотеки от CDN Google — рационально! …(там по ссылкам статьи..!)
…так как же избавится от этаких тегов-ошибок?
1 – во многих шаблонах js скрипт прописан в коде, а значит возможно ручками всё это дело зачистить…
2 – совсем иной коленкор автоматическое подключение JS библиотек. Ну или тех скриптов что подключены в ядре Вордпрес.
Ядро WP править не рекомендуется!
Итак: чтобы у нас с вами получилось так, как блестит зелёненьким на скрине ниже, следует добавить предложенный ниже код (фильтр) к себе в файл функций (ну, или куда там вы помещаете всю эту писанину))
Как правильно организовать свой активный файл функций functions.php
– описано в этом посте – как разделить на отдельные функциональные части файл functions.php
– гораздо дальновиднее группировать код по функционалу… а ещё правильнее — разнести какие-то функции по отдельным файлам – документам
Вот пример кода, по которому вам нужно изменить принцип своего подключения jquery:
add_action( 'wp_enqueue_scripts', 'myatsplugin_enqueue' );
function myatsplugin_enqueue() {
// wp_register_script(... здесь ваши задачи сценариев...
// wp_enqueue_script(... здесь ваши задачи сценариев...
}
add_filter('style_loader_tag', 'myatsplugin_remove_type_attr', 10, 2);
add_filter('script_loader_tag', 'myatsplugin_remove_type_attr', 10, 2);
// my
function myatsplugin_remove_type_attr($tag, $handle) {
return preg_replace( "/type=['\"]text\/(javascript|css)['\"]/", '', $tag );
}
Если вы “подключались”… так, как описано в предыдущей моей статье (ссыль на которую выше) то – вот подготовленный и совершенно рабочий код:
add_action( 'wp_enqueue_scripts', 'myatsplugin_enqueue' );
function myatsplugin_enqueue() {
wp_deregister_script( 'jquery' ); // jquery-core
wp_register_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js');
wp_enqueue_script( 'jquery' );
}
add_filter('style_loader_tag', 'myatsplugin_remove_type_attr', 10, 2);
add_filter('script_loader_tag', 'myatsplugin_remove_type_attr', 10, 2);
// my
function myatsplugin_remove_type_attr($tag, $handle) {
return preg_replace( "/type=['\"]text\/(javascript|css)['\"]/", '', $tag );
}
Для тех, которые подключали JS jquery как-то иначе, возможно просто-напросто удалить свой прежний вариант (код) и прописать на постоянное место жительства этот.
Рекомендуется именно и только такое подключение…
Плюсы: вы всегда – динамически – будете использовать свежайшую версию jquery в отличие от того, если подгружаетесь из ядра своего шаблона (локально).
Вензеля функций фильтр-кода можно прописать свои, для понту)).
На этом занавес представления опускается…
…на рампы пыль печальная ложится…
...город веб мастеров Михалика.ru © - запросто с WordPress - ATs media squad
Online консультация по настройкам и созданию сайтов на WordPress
…А ещё рекомендую посмотреть коротенькое весёлое и правильное кино:
mihalica.ru !
Что за идиот это писал????
Привет, ася!!