javascript - YouTube IFrame 播放器无法正确执行 cuePlayList
问题描述
我有一个网站,我在 IFrame 中创建了一个 YouTube 播放器,并让它根据用户点击的内容抓取不同的播放列表。所以它调用player.cuePlaylist({listType:"playlist",list:playListID})
whereplayListID
是当用户调用不同的播放列表时发生变化的变量。问题是函数第一次执行时它工作正常,但是一旦第二次要求它提示一个新的播放列表,它什么也不做,没有 400 错误消息或任何东西,但是当我调用第二个playList第二次,它的工作原理。
这个 cuePlayList 函数似乎有问题,因为这不是在一两个月前发生的。我可以看到 youtube Iframe API 的唯一变化是关于搜索列表,而不是播放列表,您可以在此处阅读
我重新创建了这个jsfiddle中的错误。只需按“新播放列表”按钮,它就会加载正确的播放列表,按另一个播放列表,它不会做任何事情,直到按两次。
那么我做错了什么还是在 YouTube 的 IFrame API 端?
提前致谢!
解决方案
而不是破坏播放器,这意味着你不能再使用cuePlaylist()
,loadPlaylist()
我发现如果你像这样调用 cue/load 函数两次,播放器会接受新的播放列表:https ://jsfiddle.net/5yw2na96/
cuePlaylist()
我通过将功能链接到按钮并注意到您需要单击两次才能正确更新播放列表来发现此问题。空调用和实际调用之间似乎需要延迟,因此我将其设置为 500 毫秒。
推荐阅读
- android - 应用程序关闭时工作管理器不工作?
- php - JQuery/Ajax html 只加载一次
- python - 如何将数据帧中的多个元组列表组合到一个字典中?
- android - 如果应用程序从最近的菜单中被杀死,如何强制停止任何插件
- java - java.sql.SQLException:字段“participant_one_fk_id”没有默认值
- javascript - React :: 上下滚动时部分变白
- reactjs - React-card-flip,通过数据映射并一次翻转一张卡片
- redis - Redisson 将 ArrayList 或 RList 放入 RMap 中。会发生什么?
- python - 围绕枢轴 Python 绘制旋转图像
- c# - 如何在 C# 中使用 XDocument 在根元素中生成具有多个命名空间的 XML 文件?