Как сделать правильно отложенное подключение и загрузку сторонних данных?

Добрый день. Имеется страница, к которой подключено много всякого разного стороннего кода - всякие метрики, чаты, коллбэкхантеры и проч. Поначалу все это добро грузилось вместе со страницей. В какой-то момент решили все это дело оптимизировать, и сторонние скрипты подключать отложенно. К примеру, такой конструкцией в теле html-файла:
function loadExternalCode() {
      var doc = document,
      script = doc.createElement('script');
      script.src = 'https://site.com/code';
      doc.body.appendChild(script);
}
setTimeout(loadExternalCode, 5000);


И какое-то время это дело отлично работало. Pingdom Tools, GMetrix и прочие сервисы убеждали в том, что все это дело не грузится со страницей вместе. Но сегодня внезапно все тесты стали показывать всё, как было до этой оптимизации - т.е. якобы ресурсы загружаются вместе со страницей. Абсолютно точно ничего не делалось с кодом такого, что хоть как-то могло затронуть эти функции с сет-таймаутом.

Буду признателен за помощь в решении проблемы. Может быть есть более изящные и правильные способы отложенно подключать и грузить сторонние скрипты? Т.е. цель в том, чтобы максимально быстро загрузилась страница в чистом виде, а спустя, скажем, пять секунд начинает догружаться всякое внешнее стороннее барахло.
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ответы на вопрос 1
Griboks
@Griboks
Используйте аякс или асинхронное подключение. Ещё есть кеш.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы