Валидация html и type = text/javascript

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

Для скриптов, которые мы явно сами подключаем в коде убрать устаревший атрибут не является проблемой, но как же быть со скриптами, добавляемыми через api битрикса? Данный атрибут добавляется автоматически.

На помощь нам в таком случае приходит обработчик события "onEndBufferContent", позволяющий произвести модификацию данных непосредственно перед выводом контента пользователю.

В файле init.php (если вы не знаете, что это за файл и где он лежит - обратитесь за помощью к профессионалу, чтобы не "положить" сайт) необходимо разместить следующий код:

use Bitrix\Main\EventManager;
$handler = EventManager::getInstance()->addEventHandler(
"main",
"OnEndBufferContent",
array(
	"ClInit",
	"removeType"
)
);
	...
class ClInit
{
	...
	function removeType(&$content)
	{
		$content = static::replace_output($content);
	}

	static function replace_output($d)
	{
		return str_replace(' type=\'text/javascript\'', "", str_replace(' type="text/javascript"', "", $d));
	}

	...
}
	

В результате ненужный атрибут будет очищаться при завершении буферизации контента сайта, перед показом контента пользователю.

Количество показов: 2184
19.05.2019

Возврат к списку

Если вам была полезна статья можете отблагодарить автора:
Ethereum:

0x16Df809287333C49D3A237296C6248A6c08702Bc

Разработка сайта

Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...

Сопровождение сайта

Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение

Работы по сайту

Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.