Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Вопрос? Трейлер в модальном окне

Тема в разделе "Вопросы- ответы", создана пользователем Tolstyak87, 23 май 2019.

23.05.19 в 10:20
06.05.20 в 11:25
20
1.462
0
  1. TopicStarter Overlay
    Tolstyak87

    Tolstyak87 Бывалый

    Регистрация:
    21 мар 2018
    Сообщения:
    556
    Лучших ответов:
    2
    Рейтинги:
    +60 / 18 / -0
    Доброго времени суток.
    Вопрос вот в чем, уже несколько дней бьюсь над тем, чтоб выводился плеер в модальном окне в шортстори. Само модальное окно появляется, но плеер не выводится.
    Это вставлено в шортстори:
    Код:
    <div class="th-meta th-trl js-trailer" title="Смотреть трейлер" src=""><span class="icon ion-md-play"></span></div>
    Вот js модального окна:
    Код:
        $('body').on('click','.js-trailer',function(){
            var meta = $(this),
                metaS = meta.data('src'),
                metaT = meta.attr('title');
            $('body').append('<div id="trailer-box" class="video-box" title="'+metaT+'"></div>');
                $.ajax({
                    url: metaS,
                    beforeSend: function() {
                        ShowLoading('');
                    },          
                    success: function(data) {
                       $("#trailer-box").append($('#trailer-place', data).html());
                       $("#trailer-box").append('<script type="text/javascript" src="/engine/classes/html5player/player.js"></script><link media="screen" href="/engine/classes/html5player/player.css" type="text/css" rel="stylesheet" />');
                        $("#trailer-box").dialog({
                            modal: true,
                            show: 'fade',
                            hide: 'fade',
                            width: 800,
                            close: function( event, ui ) {$(this).dialog('destroy').remove()}
                        });
                        HideLoading('');
                    },
                      error: function() {            
                        HideLoading('');
                        alert('что-то пошло не так');
                      }
                });
        });
    
    Тук, как я понял, работает на HTML5 плеере из коробки, а нужные библиотеки не подключаются.
    Как сделать так, чтоб бралась ссылка из допполя и плеер выводился через iframe?
    В сети кучу инфы перерыл, но ничего работающего у меня не смог найти.
    Заранее благодарю.

    Заменил это
    Код:
    $("#trailer-box").append('<script type="text/javascript" src="/engine/classes/html5player/player.js"></script><link media="screen" href="/engine/classes/html5player/player.css" type="text/css" rel="stylesheet" />');
    На это
    Код:
    $("#trailer-box").append('<iframe width="560" height="400" src="[xfvalue_trailer_player]" frameborder="0" allowfullscreen></iframe>');
    
    Уже окно плеера сыводится, но не берет ссылку, скрин ниже...
     

    Вложения:

    #1 Tolstyak87, 23 май 2019
    Последнее редактирование: 23 май 2019
  2. igrovik

    igrovik Местный

    Регистрация:
    11 дек 2016
    Сообщения:
    1.007
    Лучших ответов:
    8
    Рейтинги:
    +354 / 12 / -0
    js код где находится в shortstory или в js ?
     
  3. TopicStarter Overlay
    Tolstyak87

    Tolstyak87 Бывалый

    Регистрация:
    21 мар 2018
    Сообщения:
    556
    Лучших ответов:
    2
    Рейтинги:
    +60 / 18 / -0
  4. salomonkayn

    Забанен

    Регистрация:
    23 сен 2018
    Сообщения:
    388
    Лучших ответов:
    1
    Рейтинги:
    +117 / 24 / -0
    В полной новости прописан id - #trailer-place, там где хранится трейлер?
     
  5. ArtAlf

    ArtAlf Посетитель

    Регистрация:
    8 мар 2019
    Сообщения:
    75
    Лучших ответов:
    0
    Рейтинги:
    +4 / 2 / -0
    Модальное окно может вообще не поддерживать определенные теги и так же плеер
     
  6. TopicStarter Overlay
    Tolstyak87

    Tolstyak87 Бывалый

    Регистрация:
    21 мар 2018
    Сообщения:
    556
    Лучших ответов:
    2
    Рейтинги:
    +60 / 18 / -0
    salomonkayn в полной новости без хештега, вот так
    Код:
                <div class="fplayer video-box tabs-b" data-tab="tab-2" id="trailer-place">
                <iframe width="560" height="400" src="[xfvalue_trailer_player]" frameborder="0" allowfullscreen></iframe>
                 <!-- Трейлер -->   
                </div>
     
  7. TopicStarter Overlay
    Tolstyak87

    Tolstyak87 Бывалый

    Регистрация:
    21 мар 2018
    Сообщения:
    556
    Лучших ответов:
    2
    Рейтинги:
    +60 / 18 / -0
    ArtAlf может-не может, все может, ни один сайт видил с подобной реализацией, а даже с таким шабом, как у меня...
     
  8. igrovik

    igrovik Местный

    Регистрация:
    11 дек 2016
    Сообщения:
    1.007
    Лучших ответов:
    8
    Рейтинги:
    +354 / 12 / -0
    Попробуйте поместить js код в shortstory и посмотрите результат. Насколько помню в файлах js доп поля не обрабатываются, их нужно как-то силой туда передавать, например ajax-ом .
     
  9. salomonkayn

    Забанен

    Регистрация:
    23 сен 2018
    Сообщения:
    388
    Лучших ответов:
    1
    Рейтинги:
    +117 / 24 / -0
    Пробуй

    HTML
    Код:
    <div class="movie-trailer showTrailer" title="Смотреть трейлер {title}" data-src="{full-link}"><span class="far fa-play"></span></div>
    
    JS
    Код:
    $('body').on('click','.showTrailer',function(){
       
            $('body').append('<div class="trailer_frame"><div class="iframe" id="trailer-box"></div><div class="overlay"></div> <span class="icon-close far fa-times"></span></div>');
           
            var w = $(window).width()-40;
            var meta = $(this);
            if( $('.trailer_frame').width() > w ) {
                $('.trailer_frame').height(w/($('.trailer_frame').width()/$('.trailer_frame').height())).width(w).css({'margin-left': 0-w/2});
            }
           
            $('.trailer_frame').animate({opacity: 1, top: $(window).height()/2-$('.trailer_frame').height()/2}, 'slow', function() {
    
                        metaS = meta.data('src'),
                        $.ajax({
                            url: metaS,
                            beforeSend: function() {
                                ShowLoading('');
                            },             
                            success: function(data) {
                               $("#trailer-box").append($('#trailer-place', data).html());
                               $("#trailer-box").append('<script type="text/javascript" src="/engine/classes/html5player/player.js"></script><link media="screen" href="/engine/classes/html5player/player.css" type="text/css" rel="stylesheet" />');
                                HideLoading('');
                            },
                              error: function() {               
                                HideLoading('');
                                alert('Что-то пошло не так');
                              }
                        });
                       
            });
           
        });
        $('body').on('click', '.trailer_frame .icon-close, .trailer_frame .overlay', function() {
            $(this).parent().find('iframe').remove();
            $('.trailer_frame').animate({opacity: 0, top: 0}, function() {
                $(this).remove();
            });
           
        });
    
    CSS
    Код:
    .iframe {
        width: 100%;
        height: 100%;
    }
    
    .trailer_frame {
        width: 700px;
        height: 394px;
        margin-left: -350px;
    }
    
    .trailer_frame {
        position: fixed;
        top: 0;
        left: 50%;
        z-index: 999;
        opacity: 0;
    }
    
    .trailer_frame .overlay {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,.6);
    }
    
    .trailer_frame .far {
        right: -20px;
        position: absolute;
        top: -20px;
        background-color: #1d1c21;
        padding: 14px 17px;
        color: #6d2bd6;
        border-radius: 100px;
        cursor: pointer;
        z-index: 1;
    }
    
    .iframe {
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        overflow: hidden;
        position: relative;
        background: #1d1c21;
        -webkit-box-shadow: 0 0 20px rgba(0,0,0,.2);
        -moz-box-shadow: 0 0 20px rgba(0,0,0,.2);
        box-shadow: 0 0 20px rgba(0,0,0,.2);
        z-index: 1;
    }
    
    .trailer_frame iframe {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
    }
    
    .trailer_frame .icon-close:hover {
        fill: #eee;
    }
    
     
  10. salomonkayn

    Забанен

    Регистрация:
    23 сен 2018
    Сообщения:
    388
    Лучших ответов:
    1
    Рейтинги:
    +117 / 24 / -0
    В твоем случае в HTML
    добавь
    data-src="{full-link}"
    <div class="th-meta th-trl js-trailer" title="Смотреть трейлер" data-src="{full-link}"><span class="icon ion-md-play"></span></div>
     
  11. TopicStarter Overlay
    Tolstyak87

    Tolstyak87 Бывалый

    Регистрация:
    21 мар 2018
    Сообщения:
    556
    Лучших ответов:
    2
    Рейтинги:
    +60 / 18 / -0
    Этот способ все решил, достаточно было вставить {full-link}:);)
     
  12. ArtAlf

    ArtAlf Посетитель

    Регистрация:
    8 мар 2019
    Сообщения:
    75
    Лучших ответов:
    0
    Рейтинги:
    +4 / 2 / -0
    Просто у меня модальное не поддерживает вообще кроме текста ничего

    А что за шаблон где есть такое модальное?
     
  13. TopicStarter Overlay
    Tolstyak87

    Tolstyak87 Бывалый

    Регистрация:
    21 мар 2018
    Сообщения:
    556
    Лучших ответов:
    2
    Рейтинги:
    +60 / 18 / -0
    В шаблоне плэйфилм к примеру.
    ДЛЕ поддерживает модальные окна. У тебя все обстоит в рабочем js и стилях. Код js, который в стартпосто, рабочий, там же и строчка, для вставки в шортстори.
    Если хочешь, завтра вечером буду дома, покопаюсь, поищу стили, попробуешь у себя.
     
  14. ArtAlf

    ArtAlf Посетитель

    Регистрация:
    8 мар 2019
    Сообщения:
    75
    Лучших ответов:
    0
    Рейтинги:
    +4 / 2 / -0
    Да у меня модуль стоит попап, в нем поддержка только текста и full link
     
  15. TopicStarter Overlay
    Tolstyak87

    Tolstyak87 Бывалый

    Регистрация:
    21 мар 2018
    Сообщения:
    556
    Лучших ответов:
    2
    Рейтинги:
    +60 / 18 / -0
  16. ddro3doff

    ddro3doff Зелёный

    Регистрация:
    24 июл 2018
    Сообщения:
    6
    Лучших ответов:
    0
    Рейтинги:
    +0 / 0 / -0
    Как заставить работать этот код в fullstory.tpl ? Выводит модальное окно без плеера. Хотя в исходном код код плеера есть
     

    Вложения:

    • 2e907f8354.jpg
      2e907f8354.jpg
      Размер файла:
      322,1 КБ
      Просмотров:
      15
  17. Diesellboy

    Diesellboy Бывалый

    Регистрация:
    16 янв 2020
    Сообщения:
    151
    Лучших ответов:
    2
    Рейтинги:
    +46 / 11 / -0
    Ссылку копируй через iframe
     
  18. ddro3doff

    ddro3doff Зелёный

    Регистрация:
    24 июл 2018
    Сообщения:
    6
    Лучших ответов:
    0
    Рейтинги:
    +0 / 0 / -0
    Можно на примере кода показать ? я в js не селен
     
  19. Diesellboy

    Diesellboy Бывалый

    Регистрация:
    16 янв 2020
    Сообщения:
    151
    Лучших ответов:
    2
    Рейтинги:
    +46 / 11 / -0
  20. ddro3doff

    ddro3doff Зелёный

    Регистрация:
    24 июл 2018
    Сообщения:
    6
    Лучших ответов:
    0
    Рейтинги:
    +0 / 0 / -0
    В шот стори этот же код отрабатывает нормально
    При нажатии на
    <div class="movie-trailer showTrailer" title="Смотреть трейлер {title}" data-src="{full-link}"><span class="far fa-play"></span></div>
    Выводит модальное окно с плеером
    в фул стори просто модальное окно
     
Яндекс.Метрика