Документация для разработчиков
Темная тема

addString

boolean public
\Bitrix\Main\Page\Asset::addString(
	$str,
	boolean $unique = false,
	string $location = \Bitrix\Main\Page\AssetLocation::AFTER_JS_KERNEL,
	null $mode = null
);

Нестатический метод добавляет строку в секцию <head>…</head> сайта.

Аналог метода CMain::AddHeadString в старом ядре.

Параметры

ПараметрОписаниеВерсия
$strСтрока, которая будет добавлена
$unique
$location
$mode

Примеры



Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Олег Постоев
Сообщение не промодерировано, возможны ошибки и неточности.
Цитата
пишет:
let isScriptExist
Ошибся, тут надо "var" вместо "let" т.к. скрипт может несколько раз исполняться.
0
Олег Постоев
Сообщение не промодерировано, возможны ошибки и неточности.
При попытке добавить скрипт с тарибутами в панели админки все хорошо, но в эрмитаже, если вызов создан из ajax-попапа, скрипт добавляется через библиотеку BX, а уже она отрезает все атрибуты кроме "src".

В качестве решения можно использовать инлайновый скрипт:
Код
$asset->addString(
            '<sc ript>
                let isScriptExist = document.querySelector("script[src=\'/my-code.js\']");
                
                if (!isScriptExist) {
                    const script = document.createElement("script");
                    script.src = "/my-code.js";
                    script.type = "module";
                    
                    document.body.appendChild(script);
                }
            </sc ript>',
            true,
        );

Здесь в качестве примера атрибут type="module", но так же будет и с любыми другими атрибутами.
0
Александр Мотовилов
Сообщение не промодерировано, возможны ошибки и неточности.
Небольшая ошибка в коде
2
Александр Криулькин
Пример использования
Код
use \Bitrix\Main\Page\Asset;

Asset::getInstance()->addString('<li nk rel="stylesheet" type="text/css" href="/css/style.css">');
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх