Убираем атрибуты type='text/javascript' в Bitrix

3594 412 14 Декабря 2017, 16:03

При проверке сайта в валидаторе w3c часто возникает ошибка The type attribute is unnecessary for JavaScript resources. Это значит, что атрибут type='text/javascript' для тега script не нужен. Он считается устаревшим. 

w3c

На сайтах, где мы имеем полный доступ к html коду проблем не возникнет убрать атрибут type вручную. А вот  1С-Битрикс любит сам добавлять свои скрипты в код страницы и убрать атрибут уже проблема. Приводим решение:

Необходимо с помощью события onEndBufferContent отлавливать атрибут type в исходном коде и вырезать регулярным выражением. Для этого разместите в init.php (/bitrix/php_interface/init.php или /local/php_interface/init.php) следующий код:

	//вырезаем type="text/javascript" 
	AddEventHandler("main", "OnEndBufferContent", "removeType");

	function removeType(&$content)
	{
	   $content = replace_output($content);
	}
	function replace_output($d)
	{
	   return str_replace(' type="text/javascript"', "", $d);
	}
Теги:

Bitrix

Битрикс

Другие статьи
Комментарии
Комментировать