在电影加载后启用 Youtube 的 JS API

Enable Youtube's JS API after the movie was loaded

本文关键字:JS API Youtube 启用 电影 加载      更新时间:2023-09-26

我希望控制我的页面上的视频,其中一些视频一开始可能没有嵌入JavaScript API参数(enablejsapi)。它们可能同时出现在 iframe 或旧对象嵌入类型中,尽管这无关紧要。

我环顾四周,似乎没有一个符合我的标准,在现有播放器上启用 YouTube API - 他的答案重新启动播放器(使用 apenable 重新创建元素)

我在这里很难

使用文档 https://developers.google.com/youtube/iframe_api_reference https://developers.google.com/youtube/js_api_reference 似乎都专注于不相关的东西。没有关于 API 实际如何处理元素的技术细节,所以我很难猜测该怎么做。这不是谷歌的JavaScript API第一次让我很难过,当然也不是最后一次

因此,我希望能够控制或至少部分控制(收听播放/停止事件)当前页面上的玩家,这些玩家在首次嵌入时没有向他们请求API。有没有办法为他们启用JavaScript API?还是破解它的方法?

更新:到目前为止,我的进展是使用 API 重新创建页面上的元素,这是我努力避免的一种技术。我仍然面临着各种对象/iframe api 的差异,这让我想改变我的职业生涯,所以需要更多的润色。当我弄清楚一切时,我会粘贴一些咖啡代码。这没什么好看的,但这是将"全局听众"添加到一个充满现有嵌入式视频的页面中的唯一通用方法,这些视频不一定在其中启用了 API。

TLDR(太久没读):Youtube API不完美。

正如更新中提到的,这个问题是通过重新创建 embed/iframe 元素来解决的。这里没有太多的魔力 - 只需将 api 变量添加到 URL 即可。不幸的是,我找不到更好的方法来启用它。