@wakenbyWork

Как загрузить скрипты мимо google page speed?

Таким образом гружу yandex map, и lottie-player:

yandex.map:
<script>
  function getYaMap() {
    ymaps.ready(() => {
      const myMap = new ymaps.Map('map', {
        center: [55.768015, 37.570285],
        zoom: 16
      })

      const myPlace1 = new ymaps.Placemark([55.768015, 37.570285], {}, {
        iconLayout: 'default#imageWithContent',
        iconImageHref: '/assets/images/placeholder.svg',
        iconImageSize: [52, 52],
      })

      myMap.geoObjects.add(myPlace1)
    })
  }

  document.addEventListener('DOMContentLoaded', () => {
    function createYandexMap () {
      const elem = document.createElement('script')

      elem.type = 'text/javascript'
      elem.src = '//api-maps.yandex.ru/2.0/?load=package.standard&lang=ru-RU&onload=getYaMap'

      document.getElementsByTagName('body')[0].appendChild(elem)
    }

    setTimeout(()=> {
      createYandexMap()
    }, 400)
  })
</script>


lottie-player:
<script>
  document.addEventListener('DOMContentLoaded', () => {
    function createScript () {
      const elem = document.createElement('script')

      elem.type = 'text/javascript'
      elem.src = '//unpkg.com/@lottiefiles/lottie-player@0.4.0/dist/lottie-player.js'

      document.getElementsByTagName('body')[0].appendChild(elem)
    }

    setTimeout(()=> {
      createScript()
    }, 400)
  })
</script>


Но google page speed замечает их, и уведомления об оптимизации пишет. Можно это как-то улучшить?
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
Если карта в области видимости - никак. Если карта вне экрана - повесьте евент на интерсекшн обсервер, и загружайте по нему.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы