2012-07-01 235 views
2

我使用iframe标记嵌入YouTube视频,但在访问对象的播放功能时失败。这里是我正在加载对象:播放嵌入的youtube视频JS

<iframe id="player" type="text/html" width="640" height="390" 
    src="http://www.youtube.com/embed/u1zgFlCw8Aw?enablejsapi=1&origin=http://example.com" 
    frameborder="0"> 

我引用的API,但是,我真的不知道如何访问播放/暂停功能。我已经使用jquery如下尝试,但是所拍摄的对象不具有所需的属性:

vid = $('#player') 
vid.playVideo() // doesn't work 

我已经使用swfsobject如下也试过:

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

    var params = { allowScriptAccess: "always" }; 
    var atts = { id: "myytplayer" }; 
    swfobject.embedSWF("http://www.youtube.com/embed/ngf03kCRw3s", 
         "ytapiplayer", "425", "356", "8", null, null, params, atts); 

    </script> 

然而,没有出现在页面(并且在控制台中没有错误)。帮助表示感谢,

+0

您需要使用[swfobject](http://code.google.com/p/swfobject/)。您可以从[Youtube JS API]开始(https://developers.google.com/youtube/js_api_reference) – elclanrs

+0

您是否在我的swfobject代码中看到错误?不知道为什么它不起作用,只是复制了这个例子。 – mike

回答

0

使用jQuery(和JS)播放嵌入的YouTube视频的一种简单方法是将参数“autoplay = 1”附加到iframe的src属性。 在你的情况下,代码会是这样的:

$("#player")[0].src += "&autoplay=1"; 

又如通过Martin Wolf

$(document).ready(function() { 
 
    $('#play-video').on('click', function(ev) { 
 
    
 
    $("#video")[0].src += "&autoplay=1"; 
 
    ev.preventDefault(); 
 
    
 
    }); 
 
});
body { 
 
    padding: 30px; 
 
} 
 

 
a { 
 
    display: inline-block; 
 
    margin-bottom: 20px; 
 
    color: #000; 
 
    font-family: Arial, sans-serif; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a id="play-video" href="#">Play Video</a><br /> 
 
    
 
<iframe id="video" width="420" height="315" src="//www.youtube.com/embed/9B7te184ZpQ?rel=0" frameborder="0" allowfullscreen></iframe>

就是这样。视频将开始播放。 如果有人需要Vanilla JS的解决方案,请留下评论,当我有一些额外的时间时,我会回来更新答案。

相关问题