Сделать аналог метода MoveJSToBody для перемещения скриптов шаблона и страницы (компонентов) в конец body

Рейтинг: 25.0266  
На голосовании
Предложил Шкарупа Алексей 21.05.2014 13:31:55

Сделать аналог метода MoveJSToBody для перемещения скриптов шаблона и страницы (компонентов) в конец body

По мотивам обсуждения http://habrahabr.ru/company/bitrix/blog/221805/#comment_7561303 хочется чтобы соответствующие методы были сделаны.

Это позволит оптимизировать скорость загрузки страницы и исправить замечание "Удалите код JavaScript, препятствующий показу страницы" замечательного софта PageSpeed Insights от гугла, который показывает где на странице проблемы в клиентской оптимизации

В общем очень ждем методы
  • MoveTemplateJSToBody
  • MovePageJSToBody

Рейтинг: 5.1362  
Kriachek Mikhail 22.05.2014 05:01:22
А лучше 1 большой метод, который можно вызвать в футере и не бояться что все сломается.
Рейтинг: 0  
Зайцев Артемий 26.06.2015 15:55:50
Напишу зачем это надо:

Допустим я написал компонент - рисование кнопок "в корзину". Компонент выбирает корзину текущего пользователя. А в шаблоне script.js пробегает по всем кнопкам и рисует текст "в корзину" или "в корзине".

Что тут такого? Можно же сделать $(document).ready? Но в некоторых случаях будет мерцание. Поэтому пробегать надо сразу. Было бы здорово сразу отправить этот script.js в подвал страницы.
Рейтинг: 0  
Шкарупа Алексей 30.06.2015 17:14:31
В свежих обновлениях главного модуля (пока альфа) появился флажок для перемещения всех скриптов в подвал.
Вопрос исчерпан.
Рейтинг: 0  
Зайцев Артемий 30.06.2015 17:31:58
Вопрос не совсем исчерпан.

Я не могу принудительно опустить в подвал именно свой файл. Если писать модуль в маркетплейс, то такая возможность очень нужна.
Рейтинг: 0  
Берсенёв Алексей 22.12.2017 03:54:57
Я не могу принудительно опустить в подвал именно свой файл. Если писать модуль в маркетплейс, то такая возможность очень нужна.
Сейчас вроде это стандартное перемещение работает нормально. Опишите пожалуйста как вы хотите это использовать.
Рейтинг: 0  
Зайцев Артемий 22.12.2017 15:04:20
Я не могу принудительно опустить в подвал именно свой файл. Если писать модуль в маркетплейс, то такая возможность очень нужна.
Сейчас вроде это стандартное перемещение работает нормально. Опишите пожалуйста как вы хотите это использовать.      
Я написал выше пример, что хотел бы переместить свой код по рисованию кнопок в подвал, но вот еще пример.

Я написал модуль для вывода кнопки Pozvonim

http://marketplace.1c-bitrix.ru/solutions/askaron.pozvonim/

Модуль просто делает $APPLICATION->AddHeadScript, но это не совсем кошерно, потому что в инструкции к Pozvonim сказано, что код должен добавляться вниз страницы, а по умолчанию AddHeadScript добавляет в шапку.

То есть, возникает серьёзное желание сделать так, чтобы некоторые свои скрипты попадали вниз.

Вот был бы метод: $APPLICATION->AddBottomBodyScript ??
Рейтинг: 0  
Police King 22.12.2017 15:21:06
Ох и напридумывали названия методам, никто понять не может, лучше
$APPLICATION->AddFooterScript();

А еще лучше, когда сам разработчик шаблона определяет, где все добро выводить и в каком порядке, а то это будет так, один пишет в боди, другой в футер, третий в хедер, найди потом, кто его туда добавил.