当模式关闭时,我似乎无法让YouTube视频停止播放。视频消失,但音频继续播放。
我在许多其他问题中尝试过这些解决方案,但似乎没有任何效果。我想这可能是因为我的视频深度嵌套而且我无法定位它。和/或因为iframe具有相同名称的元素ID。 (不要让我开始。)
以下是对DOM的简要介绍:
html
head
body
<div id="popoverview">
<div id="popoveritem">
<iframe id="popoverframe"> <!-- this is our modal -->
#document
html
head
body
<div id="popovercontainer">
<div id="popover_upc_video">
<div id="current_video">
<div id="player">
<iframe id="popoverframe">
#document <!-- this is from youtube -->
html
head
body
<div id="player">
<div id="playercontainer">
<embed id="video-player-flash"> <!-- the video -->
这里有一些来自javascript插入youtube视频 - 包括?enablejsapi = 1 - 进入模态:
document.getElementById('player').innerHTML = '<iframe id="youtubevideo" width="620" height="376" src="http://www.youtube.com/embed/'+youtube_id+'?enablejsapi=1?hl=en&rel=0&fs=1&modestbranding=1" frameborder="0" allowfullscreen>Error?</iframe>';
这里有一些关闭模态的函数。问题是音频一直在播放。错误消息是Uncaught TypeError:Object [object Object]没有方法'stopVideo'。
var myPlayer = $('#player > #video-player-flash');
myPlayer.stopVideo();
我尝试了很多定位方法,但没有任何效果。
感谢您的帮助。 查理马吉
答案 0 :(得分:-1)
你有一个jQuery对象设置为myPlayer而不是 DOM节点。
var myPlayer = $('#player > #video-player-flash')[0];
myPlayer.stopVideo();