2011-08-11 166 views
5

很少有这方面的主题,但没有答案给我。嵌入式YouTube视频并不停止在Chrome浏览器和IE浏览器

嵌入YouTube视频在覆盖DIV:

<div id="blanket" style="display:none;"> 
    </div> 
     <div id="popUpDiv" style="display:none;"> 
     <a href="#" onclick="popup('popUpDiv')">Close</a>  
     <iframe width="480" height="390" src="https://www.youtube.com/embed/G5AuItKv?rel=0&autoplay=1" frameborder="0" allowfullscreen></iframe>          
     </div> 

在Firefox当我关闭视频停止窗口,但无法在Chrome或Internet Explorer。

是否有一些简单的JavaScript我可以用它来阻止它,当用户点击关闭?

TIA

编辑:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 

<a href="#" onclick="javascript:ytplayer.stop()">Close</a> 

<iframe width="480" height="390" src="http://www.youtube.com/e/PE1il5znICA?enablejsapi=1&version=3&playerapiid=ytplayer" frameborder="0" allowfullscreen></iframe> 


<script type="text/javascript"> 
function onYouTubePlayerReady(playerId) { 
    ytplayer = document.getElementById("ytplayer"); 
} 

function stop() { 
    if (ytplayer) { 
    ytplayer.stopVideo(); 
    } 
} 
</script> 
</body> 
</html> 

回答

3

YouTube有一种JavaScript API,可以启用,以停止视频。要启用api,请将此参数:&enablejsapi=1添加到您的src网址的末尾,现在您可以通过javascript访问播放器。首先,你需要得到玩家参考:

function onYouTubePlayerReady(playerId) { 
    ytplayer = document.getElementById("nameofplayer"); 
} 

,现在你必须停止用下面的函数视频的能力:

function stop() { 
    if (ytplayer) { 
    ytplayer.stopVideo(); 
    } 
} 

只需打个电话给stop();近距离的onclick函数内。

所有youtube javascript api信息位于here

+0

进一步检查iframe youtube api稍有不同。请参阅[这里](https://code.google.com/apis/youtube/iframe_api_reference.html#Loading_a_Video_Player)以了解更多关于如何通过javascript访问播放器的信息。 –

1

我在HTML5中遇到同样的问题。 Iframe不适用于Youtube API,您必须通过启用JavaScript API来生成对象。

尝试改变:

<iframe width="480" height="390" src="http://www.youtube.com/e/PE1il5znICA?enablejsapi=1&version=3&playerapiid=ytplayer" frameborder="0" allowfullscreen></iframe> 

到:

swfobject.embedSWF("http://www.youtube.com/e/PE1il5znICA?enablejsapi=1&version=3&playerapiid=ytplayer","ytplayer", "480", "390", "8", null, null, params, atts); 

例:

首先添加的div HTML:

<div id="ytplayer"> 
<p>You need Flash player and JavaScript enabled to view this video.</p> 
</div> 

然后添加脚本来创建对象和添加停止功能:

<script type="text/javascript"> 

    function onYouTubePlayerReady(playerId){ytplayer = document.getElementById("ytplayer");} 
     var params = { allowScriptAccess: "always" };var atts = { id: "ytplayer" }; 


     swfobject.embedSWF("http://www.youtube.com/e/videoID?enablejsapi=1&version=3&playerapiid=ytplayer","ytplayer", "425", "356", "8", null, null, params, atts); 

     function stop() {if (ytplayer) {ytplayer.stopVideo();}} 
    </script> 

适合我。

相关问题