Frage

Ich versuche, eine Instanz des JW FLV Player Spieler mit jquery.

Was ich tun möchte, ist eine Reihe von Links zu haben, die, wenn die Last eine XML-Playlist in den Player angeklickt.

Nach dem Tutorial folgenden hier ich habe Dinge arbeiten im Grunde bekommen, wie ich sie in Bezug auf Funktionalität wollen, aber ich kann auch sehen, dass es als Sünde hässlich ist, wie im Moment aussehen meine Anker wie folgt aus:

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

Während diese bekommt einen ref an den Spieler

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

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

Was ich möchte in der Lage sein wird, meinen Anker so aussehen zu tun hat:

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

Und dann jquery verwenden die Anker mit class = „Medien“ zu finden, lesen Sie den Wert des rel-Attribut des Elements und dann ein Click-Ereignis, um es binden, die eine entsprechende Funktion auslöst. Ach diese über meine extrem mageren Kräfte ist.

Bisher habe ich bekam:

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

Welche nicht eindeutig funktionieren. Irgendwen ein Idiot / n00b helfen?

ich sagen sollte, dass wirklich das, was ich tun möchte, ist lernen , anstatt nur zu bekommen einige ein anderes zu tun, wenn Sie also die Dinge ein wenig erklären kann, die zusätzlichen Bonus wäre.

War es hilfreich?

Lösung

Was Sie tun, scheint mir richtig, obwohl ich nicht sicher Variable „Spieler“ bin definiert ist da; es hängt vom Kontext ab.

Was Sie tun können, ist so etwas wie

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

Andere Tipps

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

Überprüfen Sie Ihre Konsole Verschachtelung.

Ansonsten sollte funktionieren. Aber ‚rel‘ ist kein sehr guter Ort, um eine URL zu setzen, da es nur enthalten sollte, bekannte Token . Warum setzen sie nicht in ‚href‘, wo man erwarten würde? Sie müssen nur zu ‚return false‘ oder ‚prevent‘ den Link zu stoppen nach einem lecken folgten.

function playerReady(obj)
{
    player = gid(obj.id);
};
function gid(name)
{
    return document.getElementById(name);
};

Er ist nicht völlig überflüssig gid hier? Warum nicht einfach ‚player = obj‘?

Ich bin bekommen das gleiche Problem wie Sie hier. Und ich merke, dass die erste von Ihnen erstellten Spieler rufen mit

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

Ich erinnere mich nicht richtig, aber es ist wie der Code oben, nach, dass Sie var Spieler verwenden können = window.document [thePlayer.id] in der Funktion playerReady (theplayer) {} in jQuery wie

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

player.sendEvent ( "PLAY"); ..usw. Hoffnung können wir darüber reden und verbessern jQuery

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top