Передача URL с помощью клика на flowplayer - PullRequest
0 голосов
/ 29 января 2012

У меня есть таблица, которая создается из базы данных.Это перебирает цикл для создания строки:

<tr >
   <td onclick="DoNav('<?php echo $result_videos[$i]["video_url"]; ?>');">
    <?php echo $result_videos[$i]["camera_name"]; ?> 
   </td>
   <td onclick="DoNav('<?php echo $result_videos[$i]["video_url"]; ?>');">
    <?php echo setlocalTime($result_videos[$i]["video_datetime"]); ?> 
   </td>
....
</tr>

Когда пользователь щелкает строку в таблице, он отправляет ее в функцию DoNav для запуска flowplayer: var js = jQuery.noConflict ();function DoNav (theUrl) {// flowplayer ("player", "flowplayer / flowplayer-3.2.7.swf", theUrl);var mydiv = js ("# player");var $ myhref = js ("");mydiv.append ($ myhref);}

Я пытаюсь собрать игрока как href.Это должен быть href, а не как закомментированная строка (которая у меня была раньше, которая работает, но не поможет для поддержки iOS)

Вот div, который я использовал раньше, и последний вызов flowplayer в теле:

<div id="player" style="display:block;width:320px;height:240px;background-image:url(images/videoPlaceHolder01.JPG)"></div>
<script language="JavaScript">
flowplayer("player", "flowplayer/flowplayer-3.2.7.swf");
</script>

Нажатие строк больше ничего не делает, и я не вижу ошибок.Я уверен, что я смешиваю поведение с div и href для flowplayer, что неправильно.На самом деле я смешиваю слишком много вещей здесь и задаюсь вопросом, есть ли более простой способ создать событие onclick, чтобы затем запустить flowplayer, прежде чем я продолжу этот сумасшедший путь.Обратите внимание, я хочу сохранить заставку.

Ответы [ 2 ]

0 голосов
/ 01 февраля 2012

Взгляните на это решение.

http://jsfiddle.net/SAZd4/

Для начала я сохраняю URL видео в конструкции данных html5.Это data-videourl.Затем вы можете получить это значение, используя метод данных jQuery.Затем я отслеживаю событие нажатия кнопки td, чтобы получить URL-адрес, и создаю объект ссылки jQuery, который содержит необходимые параметры.Наконец, вам нужно создать экземпляр игрока, используя код flowplayer.

<table>
    <tr >
       <td class="video" data-videourl="http://pseudo01.hddn.com/vod/demo.flowplayervod/flowplayer-700.flv">Video X</td>
    </tr>
</table>

$('td.video').click(function() {
    //get video url from data-videourl html5 param
    var videourl = $(this).data('videourl');

    //create a link tag to contain the video
    var $video = $('<a />', {
        href: videourl,
        id: 'player'
    });

    //append link to page
    $('body').append($video);

    //instantiate flowplayer on new video object
    flowplayer("player", "http://releases.flowplayer.org/swf/flowplayer-3.2.7.swf", {
        clip: {

            // these two configuration variables does the trick
            autoPlay: true,
            autoBuffering: true // <- do not place a comma here  
        }
    });
});
0 голосов
/ 01 февраля 2012

Я не уверен, что это может быть проблемой, но вы пропустили двойные кавычки в этой строке:

var $myhref = js("<a href=" + theUrl + " id=player></a>");

Вы должны исправить это следующим образом:

var $myhref = js("<a href=\"" + theUrl + "\" id=\"player\"></a>");
...