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

10767
1282
14 Декабря 2017, 13: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
  • Битрикс
ДРУГИЕ СТАТЬИ
Избавляемся от fatal error uncaught в php
fatal error uncaugh возникает, когда в коде PHP происходит исключение (exception), вне конструкции try-catch
2306
276
28.03.2023
Исправляем ошибку cannot find module node js
Причины и решения ошибки в node.js - cannot find module
7355
882
27.03.2023
Ошибка E00e0 в API pointexpress.ru
Причины возникновения ошибки E00e0 в API pointexpress.ru
728
87
17.01.2023
Коды ошибок Telegram API
Коды возвращаемых ошибок от API Telegram
8956
1074
06.12.2021
Комментарии
Комментировать