关于此的几个主题但对我没有答案。
将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>
答案 0 :(得分:3)
Youtube有一个javascript api,你可以启用它来停止视频。要启用api,请将此参数:&enablejsapi=1
添加到src网址的末尾,现在您可以通过javascript访问播放器了。首先,您需要获得玩家参考:
function onYouTubePlayerReady(playerId) {
ytplayer = document.getElementById("nameofplayer");
}
现在您可以使用以下功能停止视频:
function stop() {
if (ytplayer) {
ytplayer.stopVideo();
}
}
只需在onclick函数内调用stop();
即可。
所有youtube javascript api信息都位于here。
答案 1 :(得分: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>
为我工作。