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

10587
1255
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
  • Битрикс
ДРУГИЕ СТАТЬИ
Избавляемся от fatal error uncaught в php
fatal error uncaugh возникает, когда в коде PHP происходит исключение (exception), вне конструкции try-catch
935
112
28.03.2023
Исправляем ошибку cannot find module node js
Причины и решения ошибки в node.js - cannot find module
4323
518
27.03.2023
Ошибка E00e0 в API pointexpress.ru
Причины возникновения ошибки E00e0 в API pointexpress.ru
599
71
17.01.2023
Коды ошибок Telegram API
Коды возвращаемых ошибок от API Telegram
7754
930
06.12.2021
Комментарии
Комментировать