嵌入式youtube播放器,带有onclick在同一嵌入式播放器中播放另一个视频的链接

时间:2012-11-05 00:41:20

标签: html youtube embed hyperlink

我的问题是在FF中一切正常,但对于chrome / IE / safari则没有。如果有人可以提供帮助,那将非常感激! PS:不能使用iFrame。

这里是代码:代码的第一部分需要开始脚本和结束脚本,因为脚本代码不会显示。

    <script>
     function play(clip){
       document.getElementById("frame").src= 
         "http://www.youtube.com/v/"+clip+"&autoplay=0&rel=0";
     } 
    </script>

    <object width="375" height="295">
       <param name="movie" value=""></param>
       <param name="wmode" value="transparent"></param>
       <param name="border" value="0"></param>
       <param name="allowFullScreen" value="true"></param>
       <param name="allowscriptaccess" value="always"></param>
       <embed id ="frame" src="http://www.youtube.com/v/CsGYh8AacgY?version=3&amp;hl=en_US&rel=0" type="application/x-shockwave-flash" border="0" allowfullscreen=true allowscriptaccess = always wmode="transparent" width="375" height="295"></embed>
    </object><br />

    <B>Choose Video:</B>
    <a href="#" onclick="play('CsGYh8AacgY'); return false" style="color:#9b9898; font-size:12">Charlie 1</a> | 
    <a href="#" onclick="play('QFCSXr6qnv4'); return false" style="color:#9b9898; font-size:12">Charlie 2</a> | 
    <a href="#" onclick="play('eaCCkfjPm0o'); return false" style="color:#9b9898; font-size:12">Charlie 3</a>  

2 个答案:

答案 0 :(得分:2)

问题是没有设置电影参数。但是,我不确定是否直接设置会导致电影重新加载。如果您不反对使用某些JavaScript库,我会这样做:

<script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">
     function play(clip){
       var mv = "http://www.youtube.com/v/"+clip+"&autoplay=0&rel=0";
       swfobject.embedSWF(mv, "myContent", "375", "295", "8");
     }
     $(document).ready(function() {
       play('CsGYh8AacgY');
     });
    </script>

    <div id="myContent"></div>
    <br />

    <B>Choose Video:</B>
    <a href="#" onclick="play('CsGYh8AacgY'); return false" style="color:#9b9898; font-size:12">Charlie 1</a> |
    <a href="#" onclick="play('QFCSXr6qnv4'); return false" style="color:#9b9898; font-size:12">Charlie 2</a> |
    <a href="#" onclick="play('eaCCkfjPm0o'); return false" style="color:#9b9898; font-size:12">Charlie 3</a>

这使用SWFObject和JQuery库。 SWFObject是处理加载flash电影的东西。 JQuery在这里并不是绝对必要的,我只是在页面完全加载$(document).ready时使用它来加载默认视频。我指向谷歌托管的库,但如果您愿意,可以下载它们并在本地提供它们。

答案 1 :(得分:0)

Trythis,

 $('a.video').click(function () {
     var id = $(this).attr('data-youtube');
     var src = '//www.youtube.com/embed/'+id;
     var iframe = '<iframe id="youtube" width="560" height="315" frameborder="0" src="'+src+'" allowfullscreen></iframe>';
     $(".video-wrapper").html(iframe);
     return false;
 });

https://jsfiddle.net/rakesh_vadnal/pyktnz7r/2/