Главная страница / DataLife Engine / Скрипты и другая информация / Ещё о выводе плеера на страницах сайта

Ещё о выводе плеера на страницах сайта

01 июля 2022, Пятница
729
7
Ещё о выводе плеера на страницах сайта

Разбирался с загрузкой плеера, но что-то видимо упускаю из виду, что никак не получается сделать отложенную загрузку плеера на одном сайте даже при активном способе загрузки плеера пользователю при клике на картинку. Собственно код ниже и будет именно по загрузке плеера только при клике на картинку. Вытащил этот код на одном из сайтов, который сегодня попадался при анализе некоторых сайтов, т.к. подобного кода не встречалось на сайтах.

Для работы нужен будет jQuery, и js код сооствественно нужно подключать после {jsfiles} или, если у вас джиквери ДЛЕ выводится вверху сайта — можно добавить скрипт в код полной новости.
Подключаем js:
<script>
                document.addEventListener("DOMContentLoaded", function(event) {
                    $(document).one('click', '#trailer_container', function () {
                        var s2  = document.createElement("iframe");
                        s2.allow = "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture";
                        s2.allowFullscreen = true;
                        s2.frameBorder = 0;
                        s2.width = "100%";
                        s2.height = "100%";
                        s2.src  = "[xfvalue_trailer]";
                        $("#trailer_container").append(s2);
                        $("#trailer_play_btn").hide();
                    });
                });
</script>

CSS стили:
               #trailer_container {
                                    height: calc(56.2525vw);
                    max-height: 343px;
                    background-color: #000;
                    position: relative;
                    cursor: pointer;
                }
                #trailer_container:hover {
                    background-color: #807f7b;
                }
                .video-overlay-play-button {
                    box-sizing: border-box;
                    width: 100%;
                    height: 100%;
                    padding: 10px calc(50% - 50px);
                    position: absolute;
                    top: 0;
                    left: 0;
                    opacity: 0.95;
                    display: block;
                    cursor: pointer;
                    background-image: linear-gradient(transparent, #000);
                }

Непосредственно вывод самого плеера:
			<div id="trailer_container">
				<svg id="trailer_play_btn" class="video-overlay-play-button" viewbox="0 0 200 200" alt="Play video">
				<circle cx="100" cy="100" r="90" fill="none" stroke-width="15" stroke="#fff"/>
				<polygon points="70, 55 70, 145 145, 100" fill="#fff"/>
				</svg>
			</div>

Пример работы код в несжатом виде

Ещё один способ отложенной загрузки iframe на сайте — отложить на некоторое время загрузку окна iframe, чтобы страница загрузилась быстрее, тем самым увеличить ее показатели pagespeed.
<iframe id="map0921" style="border: 0;" src=" " width="100%" height="450" frameborder="0" allowfullscreen="allowfullscreen"></iframe>

JS код:
<script>
window.onload = function(){
 setTimeout(function(){
   document.getElementById('map0921').src = 'ваш урл';
 },5000);
};
 
 </script>

5000 — это задержка в миллисекундах.
Источник

Оба способа рабочие, проверено.
Комментарии:
{login}

Твой комментарий..

  1. 1 11 марта 2023 09:20

    здравствуйте, а как сделать первый вариант вывода, но для нескольких плееров которые в табах?

    1. byroot Администраторы 11 марта 2023 09:46
      на табы можно отложенную загрузку настроить и по data-src
  2. Владислав 7 августа 2022 12:27

    Здравствуйте. Не подскажете, как добавить scrolling="no" в код js. 

    Пробовал добавить s2.scrolling = no; - не работает.

    1. byroot Администраторы 10 августа 2022 02:27
      Не совсем понятно для чего это нужно и скроллинг нужно запретить!? Плеер сам по себе многие параметры такие запрещает и отдельно их указывать не нужно.
      1. Владислав 10 августа 2022 18:00
        Мне попался такой плеер, для которого этот параметр обязателен. Иначе с боку появляется полоса прокрутки, и как не увеличивай размеры, полоса все равно будет.
        1. byroot Администраторы 10 августа 2022 19:28
          странно. но вообще код выше правильный, только NO нужно взять в кавычки. должно сработать, судя по всем параметрам в коде.
          1. Владислав 10 августа 2022 19:43
            Спасибо огромное Вам, помогло (взять в кавычки).
Модули для создания киносайта и не только на базе DataLife Engine, и многое другое...
Просто блог Евгения Попова, он же - byroot © 2015-2025 | Карта сайта