将PHP变量传递给JwPlayer

时间:2013-11-05 13:26:38

标签: javascript php jwplayer

我正在从数据库中循环视频网址,每个视频都有一个我想“寻找”的特定帧。我正在使用JwPlayer提供的“搜索”功能。

但是,我似乎无法正确地将变量传递给JwPlayer javascript。 下面是我的JS for JwPlayer:

$('.video').fancybox({
    content : '<div id="myElement">Loading the player...</div>',
    fitToView : true,
    afterShow : function() {
        this.content = jwplayer('myElement').setup({            
            flashplayer: "js/jwplayer.flash.swf",
            file: this.href,
            height: 360,
            width: 640,
            autoStart : false,
            stretching : "fill"
        }); 
        // Store references to tag and rates
        var videoTag;
        var currentRate = 1;

        jwplayer().onReady(function() {
            jwplayer().seek(<?=$sec?>);
        });
    }
});

这是我的HTML

<a class="video fancybox.iframe" href="<?=$video_link;?>">Watch Video</a>

任何人都可以帮忙建议我如何将“秒”放入jwplayer.seek?我尝试使用“id”然后获取ID,但它也没有工作。

1 个答案:

答案 0 :(得分:2)

如果我理解正确,听起来您有许多<a>个标记,并且您希望每个标记指示不同的$sec值。如果是这种情况,你可以试试这个:

<a onclick="seek(<?=$sec?>)" class="video fancybox.iframe" href="<?=$video_link?>">Watch Video</a>

有一个像这样的JS函数:

function seek(sec) {
    jwplayer().onReady(function() {
        jwplayer.seek(sec);
    });
}

或者,如果您使用的是HTML5,则可以在<a>标记上尝试数据属性:

<a data-sec="<?=sec?>" class="video fancybox.iframe" href="<?=$video_link?>">Watch Video</a>

修改你的JS以使用它:

$('.video').fancybox({
    // ...
    afterShow: function() {
        // ...
        jwplayer().onReady(function() {
            jwplayer().seek($(this).data('sec'));
        });
    }
});