0

当模式关闭时,我似乎无法让 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 -->

这是将 youtube 视频(包括 ?enablejsapi=1)插入模态的 javascript 中的一些内容:

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] has no method 'stopVideo'。

var myPlayer = $('#player > #video-player-flash');
myPlayer.stopVideo();

我已经尝试了很多定位方法,但没有任何效果。

谢谢您的帮助。查理马吉

4

1 回答 1

-1

您将 jQuery 对象设置为 myPlayer 而不是 DOM 节点。

var myPlayer = $('#player > #video-player-flash')[0];
myPlayer.stopVideo();

请参阅这篇文章:如何在 Youtube 中停止使用 Javascript 的视频?

于 2012-12-28T00:12:30.960 回答