سؤال

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

لذلك أنا أفكر في وجود زرين مع أحداث OnClick لتغيير Innerhtml من جافا سكريبت، لكنني أدركت أنني لا أعرف بالضبط كيف. هل يمكنني إنشاء معرف سطر واحد من جافا سكريبت، أو يجب أن أستبدل كل شيء كله؟ هنا هو رمزي:

<script type="text/javascript">
var so = new SWFObject('/lessons/videos/player.swf','mpl','610','480','9');
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','always');
so.addVariable('file','/lessons/videos/BukaTiende.flv');
so.write('mediaspace');
</script>

</div></div>
<input type="button" value="low"><input type="button" value="high">

في التعليمات البرمجية أعلاه، كل ما أحتاج إلى تغييره هو "Uldersons/Videos/Bukatiende.flv" رابط إلى شيء مثل / Slessonss/Videos/Bukatiende_lower.flv

هل يمكنني القيام بذلك مع getelementbyid؟

لدي jQuery.

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

المحلول

أقترح تثبيت هذه الأوامر في وظيفة، وتشغيلها مع واحد أو مقاطع الفيديو الأخرى كمعلمة عند النقر.

قلت أنك حصلت على JQuery حولها، لذلك قد تستخدمه أيضا لربط النقر إلى الأزرار.

<script type="text/javascript">
  function launch_video(quality){

    video_qual=(quality=='high')? '' : '_lower';

    var so = new SWFObject('/lessons/videos/player.swf','mpl','610','480','9');
    so.addParam('allowfullscreen','true');
    so.addParam('allowscriptaccess','always');
    so.addVariable('file','/lessons/videos/BukaTiende'+video_qual+'.flv');
    so.write('mediaspace');
    }

  $(document).ready(function(){
    $('.vid_button').click(function(){launch_video($(this).val());});
    });

</script>

</div></div><!-- I guess I'll leave those random divs in there-->

  <input class='vid_button'  type="button" value="low">
  <input class='vid_button' type="button" value="high">

نصائح أخرى

يجب عليك عمل وظيفة تأخذ كمعلمة عنوان URL للمقطع الفيديو ثم استدعاء SWFOBJECT مع هذا النطق ..إشعار في addvariable. نحن نستخدم المعلمة الوظيفة)

function loadVideo( pUrl )
{
var so = new SWFObject('/lessons/videos/player.swf','mpl','610','480','9');
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','always');
so.addVariable('file', pUrl);
so.write('mediaspace');
}

ثم قم بإضافة نداءها في المرة الأولى مع

<script type="text/javascript">
       loadVideo('/lessons/videos/BukaTiende.flv');
</script>

ASLO أضف بعض المعرف إلى الأزرار الخاصة بك حتى تتمكن من الرجوع إليها

<input type="button" value="low" id="low">
<input type="button" value="high" id="high">

ثم أضف أحداث النقر إلى الأزرار الخاصة بك ..

<script type="text/javascript">
   $(document).ready(
     function(){
        $('#low').click( function(){ loadVideo('/path/to/lowversion.flv') } );
        $('#high').click( function(){ loadVideo('/path/to/highversion.flv') } );
     }
   );
</script>

يمكنك إزالة الكائن المضمن من الصفحة عند النقر فوق المستخدم على زر، ثم أعد تشغيل البرنامج النصي الذي يضيفه إلى الصفحة، ولكن مع قيمة متغيرة مختلفة. إذا وضعت SWFOBJECT داخل DIV، فيمكنك مسح Div عن طريق إعداد Innerhtml = ""؛

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