无法在IE上使用jQuery停止YouTube视频

时间:2014-12-26 09:38:23

标签: javascript jquery internet-explorer youtube youtube-javascript-api

对于我正在开发的网站,我需要在特定事件发生时停止youtube视频(使用iframe嵌入)。

所以我尝试了一些示例jQuery(非常粗略,原谅我:P)如下:

<!DOCTYPE html>
<html> 
<head>     
    <script src="http://code.jquery.com/jquery-latest.js"></script>     
</head>
<body>
    <div>
    <iframe width="560" height="315" src="http://www.youtube.com/embed/C0DPdy98e4c?enablejsapi=1" frameborder="0" allowfullscreen=""></iframe>
    </div>
    <input type="button" value="Stop" id="btnStop"/>    
<script>
$(window).load(function(){
    $('#btnStop').click(function(){
        $('iframe')[0].contentWindow.postMessage(JSON.stringify({
            "event" : "command",
            "func" : "stopVideo",
            "args" : ""
        }),"https://www.youtube.com");
      });
});
</script>
</body>
</html>

但视频停止仅适用于Chrome和Firefox 。它不会停止在IE 上。我试过IE 11和10。

我知道这里有很多关于停止youtube iframe的问题,而且我已经完成了大部分内容。但我无法弄清楚我错在哪里。

或者如果这在IE中不起作用,你能否给我任何其他建议(除了youtube api)?

所以我很感激你们给我的任何帮助!!

编辑:请尝试此链接 - https://www.googledrive.com/host/0B58rEiAJ1HiaeEU2eWNHem5WM0U

1 个答案:

答案 0 :(得分:1)

为什么不呢?

vid

  $('#btnStop').click(function(e){
    $('iframe')[0].src = 'http://www.youtube.com/embed/C0DPdy98e4c?enablejsapi=1';
  });

编辑:暂停它,这似乎对我有用

$(window).load(function(){
    $('#btnStop').on('click', function(){
        $('iframe')[0].contentWindow
          .postMessage('{'+
             '"event":"command",'+
             '"func":"pauseVideo"'+
             ',"args":""}','*');
    });
});

HTML

<div>
<iframe width="560" height="315" src="http://www.youtube.com/embed/C0DPdy98e4c?enablejsapi=1" frameborder="0" allowfullscreen></iframe>
</div>
<input type="button" value="stop" id="btnStop"/>