Как правильно настроить подключение js скрипта перед закрывающимся тегом body для модуля 1C-Bitrix?

  • 14 августа 2023 г. 19:06
Ответы на вопрос 4
Да, вы правильно поняли мой вопрос. Если у вас возникает ошибка "Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')" или похожая ошибка, связанная с js скриптом, то скорее всего проблема не связана с местом подключения скрипта.

Однако, если вы все же хотите перенести подключение скрипта в конец тега body, вы можете воспользоваться следующими шагами:

1. Откройте файл header.php в вашей теме сайта (обычно он находится в папке /bitrix/templates/ваша_тема/).
2. Найдите строку, где подключается скрипт с помощью Bitrix\Main\Page\Asset::getInstance()->addJs().
3. Замените эту строку на следующий код:

```php
$APPLICATION->AddBufferContent(function() {
    return \Bitrix\Main\Page\Asset::getInstance()->getJs();
}, 'ASSET_JS');
```

4. Затем в футере (обычно в файле footer.php), перед закрывающимся тегом body, вставьте следующий код:

```php
<?php $APPLICATION->ShowProperty('ASSET_JS'); ?>
```

Это обновит место подключения js скриптов и поместит их перед закрывающимся тегом body.

Убедитесь, что после внесения этих изменений выходите и снова загружаете страницу, чтобы изменения вступили в силу.
Для того чтобы подключить скрипт в конце тега body, вам необходимо разместить следующий код: Важно: убедитесь, что ваш скрипт не содержит функций, специфичных для Битрикс. Также, помните, что настройка переноса js в конец страницы в главном модуле может вызвать проблемы с работой других функций на сайте. Поэтому перед применением этой настройки, рекомендуется провести тестирование работы всего сайта.
 Вот такой код поможет вам избежать переноса скрипта на другую позицию
Чтобы подключить скрипт в конце тега body, просто добавьте следующий код в этом месте:

```html

```

В системе "Битрикс" есть возможность настроить перемещение js-скриптов в конец страницы. Однако, это может вызвать проблемы с работой других элементов на сайте. Рекомендуется тщательно протестировать все функциональные элементы перед применением этой настройки.
Похожие вопросы