javascript - Youtube 播放器 API iframe 嵌入 | player.clearVideo() 不起作用

标签 javascript jquery youtube-api

我检查了 Youtube API v3 iframe 嵌入 docs我正在尝试将player.clearVideo()函数应用到我的按钮,如下所示(省略号替换代码):

...

function onPlayerReady(event) {
 var zapButton = document.getElementById('zapvideo');
  zapButton.addEventListener("click", function() {
  player.clearVideo(); // NOT WORKING
 });
}
...

$(function(){
$('#zapvideo').on('click', function(){ ... });
});

什么也没发生(没有错误)。 player.stopVideo() 和其他控件工作。如何清除 Youtube 播放器中的视频?我正在使用 Youtube 的 HTML5 播放器,但即使 Youtube 切换到 Flash 播放器播放某些视频,我仍然无法清除播放器中的视频(最糟糕的是,当 HTML5 兼容视频播放时 Youtube 不会恢复为 HTML5 播放器)随后在我的应用程序中选择并播放,无论我是否选择加入 HTML5 或添加了相关的 html5 playerVars,这意味着当它们处于焦点时我无法从基于 Flash 的播放器控件中跳出。“按键无聊”导航就这么多了!)。我使用的是 Firefox 36.0.1。

任何合适的解决方法功能来清除视频,同时保持播放器可用,对我来说都很好。

最佳答案

使用以下代码找到了解决方法:

...
function onPlayerReady(event) {
...

$('#zapvideo').on('click', function(){
$('#player').hide();
event.target.loadVideoById('',0);
event.target.seekTo(0); // iOS
event.target.stopVideo();
return false;
});

}

#zapvideo 按钮隐藏了 iframe 播放器,因为我们不希望在通过 event.target.loadVideoById() 提交空或虚拟视频 ID 后在播放器中看到任何错误消息。请记住在播放新视频之前显示播放器。相关代码封装在 onPlayerReady() 函数中,以确保播放器在代码执行之前始终准备就绪。

关于javascript - Youtube 播放器 API iframe 嵌入 | player.clearVideo() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29153020/

相关文章:

Javascript 异常(仅发生在 PC 上的 FireFox 4.01 中)

java - 如何使用 java gdata 客户端从 YouTube channel 检索视频

javascript - Safari 中的 preventDefault

javascript - Angular2 单击时获取 json 格式的字符串

jquery - 如何使用 CSS(首选)或 Jquery 为移动设备重新排列 div 元素?

Youtube API - 存储数据超过 30 天

c# - YouTube 直接上传 - OutOfMemory 异常

javascript - 如何使用自定义选项制作旋转图像

javascript - 多次使用相同 jQuery 函数的问题

javascript - 突出显示 AngularJS 中以编程方式更改的所有输入