Асинхронная загрузка ya-share2

Все знают что гуглспид ругается на все внешние скрипты подключаемые на сайте. И как всегда в пого не за скоростью загрузки страницы на помощь приходит отложенная загрузка setTimeout. Чтобы потом не вытаскивать данный код с шаблонов, решил его добавить в блог, чтобы он был всегда под рукой. Данный код вытащил с одного шаблона от webrambo.
В место вывода самих иконок прописываем:
<div class="ya-share2 not-loaded" data-services="vkontakte,facebook,odnoklassniki,viber,whatsapp,telegram" data-counter="ig"></div>
В любой js файл прописываем:
setTimeout(function() {
$(".fmeta-item").append('<script async src="https://yastatic.net/share2/share.js"><\/script>'), $(".ya-share2").removeClass("not-loaded")
}, 3e3);
Не забываем класс fmeta-item заменить на свой класс, или же какой-либо идентификатор.
Так же добавляем стили:
.not-loaded {overflow: hidden; position: relative; text-align: center;}
.not-loaded::after {content: 'Загрузка...'; display: inline-block; position: relative; z-index: 1;}
.not-loaded::before {background: repeating-linear-gradient(45deg,#111,#111 10px,#222 10px,#222 20px);
animation: move 10s infinite linear; animation-direction: alternate; content: ''; width: 200%; height: 20px;
position: absolute; left: 0; top: 50%; margin-top: -10px;}
После этого гуглспид больше не будет ругаться на кнопки от яндекса ya-share.
Похожие статьи:
Комментарии: