2009-03-13 11 views
2

jqueryを使用してJW FLV playerプレーヤーのインスタンスを制御しようとしています。jQueryでJW FLVプレーヤーを制御する

私がしたいことは、XMLプレイリストをクリックしてプレーヤーにロードする一連のリンクを持つことです。チュートリアルに従うことにより

here私は機能性の面でそれらをしたいと私は基本的に取り組んで物事を得ているが、それでも私は私のアンカーは次のようになり、現時点でのように、それは、罪として醜いだと見ることができます。

<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を助ける気に?

私は本当に私がやりたいことはを学ぶだけではなく、あなたが物事に余分な素晴らしいだろう少し説明することができますので、もし、それを行うには、他のいくつかのいずれかを取得であることを言う必要があります。

答えて

4

変数「player」がそこに定義されているかどうかわかりませんが、あなたのしていることは正しいと思われます。それは文脈に依存する。あなたは何ができるか

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

ここでは完全に不必要ではありませんか?単に 'player = obj'だけではないのですか?

+0

ありがとうbobince - それはいつも単純なものです。私はhrefを使用して、jsが無効のユーザーのために同じプレイリストをプレーヤーにロードする代替ページを指し示すつもりでしたURLにplaylist文字列を渡していますが、必要なセグメントのhref値を解析できると思いますか? –

+0

playerReady関数は私が恐れているチュートリアルのダーティカットアンドペーストジョブでした。私が言うように、私はこのようなものから始めています。多分あなたはもう少し説明して何か良いことを提案できますか?歓声、メタ –

0

私はあなたのように同じ問題を抱えています。そして、私が最初に私が正しく覚えていないが、その上のコードのように、その後あなたが機能で[thePlayer.id] = window.document VARプレーヤーを使用することができます

var newplayer = SWFobject(width,height,playerid,version,background-color); 
newplayer.addVarible(...); 
newplayer.write(htmltaghold place for this player); 

を使用してプレイヤーを作成呼び出すことを実現します

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

player.sendEventなどのjQuery でplayerReady(thePlayer){}( "PLAY")。 ..等。私はそれについて話し、jQueryを改善したいと思っています。

関連する問題