JW Player в виде всплывающего окна: игрок не загружается во второй поп - PullRequest
1 голос
/ 20 декабря 2011

Итак, я пытаюсь создать единый список страниц с миниатюрами, и когда вы нажимаете на них ... видео в основном всплывает. Я использую в качестве проигрывателя последнюю версию JW Player (5.8) и последнюю версию jQuery.

Все работает хорошо, правда, только на первой «попсе». Когда я закрываю свое первое «всплывающее окно» и открываю новое видео, проигрыватель не загружается.

Сначала я понял, что проблема в том, что я .remove() использую контейнер игрока (по очевидной причине, что видео не будет проигрываться на заднем плане и / или видео не будет перепутано в общем-то). Однако это был не .remove().

Моя плагин-функция для всплывающих видео:

$.fn.AllfilmVideoPopper = function () {
    return this.each(function () {
        var permalink = $(this);

        $(permalink).click(function () {
            $('body').append(
                $body_overlay = $('<div class="body_overlay" />').append(
                    $wrapper = $('<div id="video_popper_wrapper">').append(
                        $closing_button = $('<div id="video_close" />'),
                        $player = $('<div id="video_popper" />')
                    ).centerit()
                )
            );
            $body_overlay.fadeIn();

            jwplayer("video_popper").setup({
                flashplayer: vp_video_player,
                file: 'http://www.youtube.com/watch?v=WrjwaqZfjIY',
                width: 800,
                height: 400,
                skin: vp_video_skin
            });

            $closing_button.click(function () {
                $body_overlay.fadeOut('fast', function () {
                    // $player.remove();
                })
            });

            return false;
        });

    });
};

Код все еще сырой, как я его разрабатываю. Только с одним тестовым видео

Примечание: vp_video_player и vp_video_skin являются предопределенными параметрами, относящимися к файлам JW Player, которые в основном включают расположение темы CMS в файле player.swf и расположение скина.

1 Ответ

1 голос
/ 30 декабря 2011

Итак, я создал отдельную страницу с JW Player.Единственное, что есть в PHP, это $ _GET ['vid'] для url source-file-video-file-url.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Video</title>
    <style>
        html, body {height: 100%; margin: 0px; padding: 0px; background: #000000;}
    </style>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="jwplayer.js"></script>
</head>
<body>
    <div id="player"></div>
    <script type="text/javascript">
        jwplayer("player").setup({
            flashplayer: "player.swf",
            file: "http://www.youtube.com/watch?v=<?= $_GET['vid'] ?>",
            width: 800,
            height: 400,
            skin: "glow.zip"
        });
    </script>
</body>
</html>

Затем я изменил 1 строку моего скрипта запуска:

$player = $('<div id="video_popper" />')

до

$player = $('<iframe src="iframe.php?vid=' + vid + '" id="video_popper"></iframe>')

Затем полностью удалила оригинальную функцию загрузки плеера jwplayer ("video_popper"). Setup ();// и т.д ..

И, похоже, все работает так, как я хотел.И для этого не требуется предварительно сгенерированный скрытый фоновый контент, так как iframes довольно устарели, но все же динамичны по своей природе.

Посмотрите, как это работает здесь: http://www.alta.ee/groomlake/jw-player-popup-problem/video-list.html

...