Вывод Яндекс карт и прочего js кода
В теме дизайна Smart реализована возможность отложенной загрузки js-скриптов - это является рекомендаций сервиса Google для ускорения скорости загрузки страницы. Отложенная загрузка означает перенос js скриптов, которые находятся в теле html документа, в самый конец этого документа, чтобы обеспечить приоритет в загрузке сначала основного контента страницы, который увидит посетитель, а только после этого - js скриптов. Поэтому карта отображается внизу страницы.
Существует 2 пути решения данной проблемы:
Путь 1. В настройках темы дизайна раздел "Отложенная загрузка библиотеки javascript" - отключить (тогда отключится отложенная загрузка для всех js).
Путь 2. Более удачным вариантом будет отключение отложенной загрузки для некоторых javascript-скриптов (в нашем примере для Яндекс карты): необходимо добавить атрибут data-disable-delayed-loading=1.
Например, дан код карты:
<script type="text/javascript" charset="utf-8" async src="https://api-maps.yandex.ru/services/constructor/1_gjhghghghghgh_ghghghghghg_hghghgh&width=660&height=562&lang=ru_RU&sourceType=constructor&scroll=true"></script>
Его необходимо заменить на:
<script data-disable-delayed-loading="1" src="https://api-maps.yandex.ru/services/constructor/1_gjhghghghghgh_ghghghghghg_hghghgh&width=660&height=562&lang=ru_RU&sourceType=constructor&scroll=true"></script>.
Таким образом при добавлении указанного атрибута отложенная загрузка на данный скрипт применяться не будет. Данная конструкция справедлива для других js- конструкций, не только для Яндекс карт.
0 комментариев