كيفية الاشتراك في نظام التشغيل Windows Media Player الأحداث دون استخدام إضافية النصي علامة ؟

StackOverflow https://stackoverflow.com//questions/25019704

سؤال

أنا تضمين ويندوز ميديا بلاير التحكم في صفحة HTML.

<object width="720"
        height="480"
        id="Player"
        classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
    <!-- <param> tags left out -->
</object>

للاشتراك في الأحداث من التحكم (على سبيل المثال PlayStateChange(newState)) ، إضافة <script> الوسم ، مثل ما يلي:

<script language="JScript" for="Player" event="PlayStateChange(newState)">
    var newStateText = document.createTextNode('' + newState);
    var playStateContainer = document.getElementById('PlayState');
    while (playStateContainer.firstChild) {
        playStateContainer.removeChild(playStateContainer.firstChild);
    }
    playStateContainer.appendChild(newStateText);
</script>

ليس هناك طريقة الاشتراك في هذه الفعالية من خلال جافا سكريبت عادي (دون إضافية <script> الوسم على كل حال أنا مهتم في كل مثيل واحد من سيطرة)?

مع 5 حالات من السيطرة على 5 أحداث أريد أيضا نؤيد هذا سيكون 25 علامات البرنامج النصي.لذا هي ملفوفة في بعض المكتبات البرمجية في ملف جافا سكريبت خارجي.حالة معالجة رمز يجب أن يكون هناك أيضا وليس في HTML من تطبيق العميل.

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

المحلول

وفقا هذه المقالة MSDN (انظر الأقسام اصطلاحات التسمية و Automagic) ، يمكنك كتابة كل ما تبذلونه من معالجات الأحداث داخل نفس <script> الوسم ، شريطة أن اسم وظائف objectname::eventname أو objectname.eventname:

<script language="JScript">
function Player::playStateChange(newState) {
  ...
}

function Player.currentPlaylistChange(change) {
  ...
}
</script>

لم أحاول هذا على الرغم من.وبالطبع هذا كله أي محددة.

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