سؤال

وأنا أحاول السيطرة مثيل JW FLV لاعب لاعب باستخدام مسج.

ما أريد القيام به هو أن يكون سلسلة من الروابط التي عند النقر عليها تحميل قائمة تشغيل XML في مشغل.

وباتباع البرنامج التعليمي هنا لقد حصلت أشياء نعمل أساسا كما أريد منهم من حيث الأداء الوظيفي، ولكن حتى أستطيع أن أرى أنه من القبيح والخطيئة، كما في لحظة بلدي المراسي تبدو مثل هذا:

<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>

وبعد ذلك استخدام مسج للعثور على المراسي مع الطبقة = "وسائل الإعلام"، وقراءة قيمة السمة يختلط العنصر ومن ثم ربط الحدث انقر فوق لأنه الذي يؤدي وظيفة مناسبة. للأسف هذا هو خارجة عن ارادتي القوى الضئيلة للغاية.

وحتى الآن أنا عندي:

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

والتي من الواضح لا يعمل. أي شخص يهتم لمساعدة احمق / n00b؟

وأود أن أقول أن حقا ما أريد القيام به هو تعلم بدلا من مجرد الحصول على بعض واحد آخر للقيام بذلك، لذلك إذا كنت يمكن أن تفسر الأمور قليلا من شأنها أن تكون أكثر رهيبة.

هل كانت مفيدة؟

المحلول

وماذا كنت تفعل يبدو الصحيح بالنسبة لي، على الرغم من أنني لست متأكدا متغير "لاعب" وتعرف هناك. ان ذلك يعتمد على السياق.

ما يمكنك القيام به هو شيء من هذا القبيل

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

نصائح أخرى

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

وتحقق التعشيش قوس الخاص بك.

وعلى خلاف ذلك، يجب أن تعمل. ولكن "يختلط 'ليس مكانا جيدا جدا لوضع URL، كما يفترض فقط أنها تتضمن <لأ href =" http://www.w3.org/TR/html4/struct/links.html#adef- السمة rel "يختلط =" نوفولو noreferrer "> الرموز المعروفة . لماذا لا تضع ذلك في "أ href 'حيث تتوقعون؟ لديك فقط ل"عودة كاذبة" أو "preventDefault" لوقف الارتباط المتبعة بعد لعق.

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

وعير، لا دائرة المخابرات العامة داعي له هنا؟ لماذا لا مجرد 'لاعب = الكائنات؟

وأنا الحصول على نفس المشكلة مثلك هنا. وأنا أدرك أن أول استدعاء لاعب خلق باستخدام

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

وأنا لا أتذكر بشكل صحيح ولكن في مثل رمز أعلاه، وبعد ذلك يمكنك استخدام مشغل فار = window.document [thePlayer.id] في وظيفة playerReady (thePlayer) {} في مسج مثل

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

وplayer.sendEvent ( "PLAY")؛ ..إلخ. نأمل ان نتمكن من الحديث عن ذلك وتحسين مسج

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top