Даже при чистой установке битрикса, сайт не проходит валидацию W3C. Как убрать из тегов устаревший атрибут type?
Как убрать атрибут type для тега script в Битриксе?
Для этого нам понадобится использовать файл событий.
Добавляем в /local/php_interface/ в файл init.php
(в некоторых проектах используется папка /bitrix/php_interface/)
// Валидация js AddEventHandler("main", "OnEndBufferContent", "delete_type"); function delete_type(&$content) { $content = str_replace(" type=\"text/javascript\"", false, $content); }
Всё дело в том, что в HTML5 давно убрали атрибут type у тэга script, при помощи которого подключаются все скрипты как внешние так и внутренние. И, чтобы наш код был валидным, этот атрибут нужно убрать из исходного кода страницы.
В Битриксе библиотека скриптов генерируется автоматически, а править ядро нежелательно (чтобы сохранить возможность обновляться). Настроек которые бы позволили убрать этот атрибут в административной панели на данный момент тоже нет.
Поэтому спокойно используем событие OnEndBufferContent, и убираем ненужный атрибут. Пройти валидацию вашей вёрстки можно на validator.w3.org