用jQuery控制JW FLV播放器

时间:2009-03-13 19:02:22

标签: javascript jquery jwplayer

我正在尝试使用jquery控制JW FLV player播放器的实例。

我想要做的是有一系列链接,点击后将XML播放列表加载到播放器中。

通过遵循教程here我已经基本上按照功能方面的要求完成了工作,但即使我可以看到它像罪一样丑陋,就像我的锚点看起来像这样:< / p>

<a class="media" href="#"
onclick="player.sendEvent('STOP');
player.sendEvent('LOAD',
'path/to/playlist.xml');
return false;">load playlist</a>

虽然这得到了玩家的参考

var player = null;
function playerReady(obj)
{
  player = gid(obj.id);
};

function gid(name)
{
  return document.getElementById(name);
};

我希望能够做的是让我的锚点看起来像这样:

<a class="media" href="#" rel="path/to/playlist.xml">load playlist</a>

然后使用jquery查找带有class =“media”的锚点,读取元素的rel属性的值,然后将click事件绑定到它,从而触发相应的函数。唉,这超出了我极其微薄的力量。

到目前为止,我已经:

$('a.media').click(function()
  {
    playlist = $(this).attr("rel");
    player.sendEvent('LOAD', playlist
  }
);

这显然不起作用。有人想帮助一个白痴/ n00b吗?

我应该说我真正想做的就是学习,而不仅仅是让其他人去做,所以如果你能解释一些非常棒的东西。

3 个答案:

答案 0 :(得分:4)

你所做的对我来说似乎是正确的,虽然我不确定那里是否定义了变量“玩家”;这取决于具体情况。

你能做的就是

$('a.media').click(function () {
  var player = $("#player-id");
  if(player.length == 1){
    player = player[0];
    var playlist = $(this).attr("rel");
    player.sendEvent('LOAD', playlist);
  }
});

答案 1 :(得分:0)

player.sendEvent('LOAD', playlist
}
);

检查括号嵌套。

否则,应该工作。但'rel'不是放置URL的好地方,因为它只应包含known tokens。为什么不把它放在你想要的'href'?你必须'返回false'或'preventDefault'来阻止舔后链接。

function playerReady(obj)
{
    player = gid(obj.id);
};
function gid(name)
{
    return document.getElementById(name);
};
呃,这里的gid不完全是多余的吗?为什么不只是'player = obj'?

答案 2 :(得分:0)

我在这里遇到和你一样的问题。我意识到你第一次使用

调用创建玩家
var newplayer = SWFobject(width,height,playerid,version,background-color);
newplayer.addVarible(...);
newplayer.write(htmltaghold place for this player);

我记不清楚了,但它和上面的代码一样,之后你可以在jQuery中的函数playerReady(thePlayer){}中使用var player = window.document [thePlayer.id] 喜欢

jQuery("div#id").click(function(){
   your code
   player.sendEvent("NEXT");
});

player.sendEvent( “PLAY”); ..等等。希望我们可以谈论这个并改进jQuery