对于我正在开发的网站,我需要在特定事件发生时停止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
答案 0 :(得分:1)
为什么不呢?
$('#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"/>