mail@vecdev.ru

Убрать во всех JS атрибут type в Битрикс

При проверке сайта валидатором w3 почти всегда возникает ошибка "type attribute is unnecessary for JavaScript resources". Ошибка означает, что атрибут type="text/javascript" является устаревшим и его применение не нужно. Однако многие скрипты в ядре Битрикса используют его. Делать изменения в ядре не рекомендуется, поэтому мы пойдем другим путем.

validator w3 javascript


В шаблоне сайта эту ошибку можно пофиксить вручную, просто удалив атрибут. А для тогоЮ чтобы убрать в ядре нужно воспользоваться событием onEndBufferContent, которое будет отлавливать вхождение атрибута type и удалять его регулярным выражением.

В init.php (/bitrix/php_interface/init.php) размещаем код:


AddEventHandler("main", "OnEndBufferContent", "removeType");
function removeType(&$content){
   $content = replace_output($content);
}
function replace_output($d){
   return str_replace(' type="text/javascript"', "", $d);
}
Частный разработчик сайтов Vector Dev
Комментарии