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

1645 185 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 Битрикс
Другие статьи
Комментарии
Нашли решение?
Последние комментарии
Клавдия
Клавдия 14 дней назад
1
Виктор
Виктор 23 дня назад
1
Алихан
Алихан 1 месяц назад
1
getmey
getmey 1 месяц назад
1
Trump26
Trump26 1 месяц назад
1
Группа вконтакте
Комментировать