使用JavaScript控制实际YouTube站点上的YouTube视频

使用JavaScript控制实际YouTube站点上的YouTube视频,javascript,youtube,youtube-javascript-api,Javascript,Youtube,Youtube Javascript Api,我已经查看了YouTube API和各种文档函数,以抓取视频播放器按钮,使用JavaScript停止和启动视频 然而,YouTube修改历史状态的方式似乎总是导致我的文档。getElementsByClassName('ytp-play-button ytp button')[0]。单击()在加载新视频之前运行 我的目标是在加载新的youtube视频时暂停 有没有什么解决方案,比如onComplete方法来等待新内容更新 我没有使用JQuery,也不打算嵌入视频 只有反应和纯Javascript

我已经查看了YouTube API和各种文档函数,以抓取视频播放器按钮,使用JavaScript停止和启动视频

然而,YouTube修改历史状态的方式似乎总是导致我的
文档。getElementsByClassName('ytp-play-button ytp button')[0]。单击()在加载新视频之前运行

我的目标是在加载新的youtube视频时暂停

有没有什么解决方案,比如
onComplete
方法来等待新内容更新

我没有使用JQuery,也不打算嵌入视频

只有反应和纯Javascript!谢谢

解决方案:
使用setTimeout(函数、时间)设置setTimeout;就等着吧

解决方案:使用setTimeout(()=>{//函数在这里运行},//等待时间(毫秒)


原始答案: 你可以用像这样的东西

document.getElementsByClassName('ytp-play-button ytp-button').length

检查元素是否存在。我想您可以使用
setTimeOut()
实现一个轮询函数,在页面加载时进行检查,并在按钮加载后进行相应操作。或者,您可以使用一个简单的
document.onload=()=>{//do stuff here}
domcontentload
来等待整个页面加载完毕。希望能有所帮助。

YouTube只加载一次页面,每次导航都是一次状态历史更改。只有在页面的初始刷新时才会调用On Load。我已经有了youtube播放器的例子,但是,这只是它被播放的时间,这才是真正的问题。是的,我检查了你的意思。也许把你的函数包装成一个固定的超时时间?很高兴听到这个消息,我修改了答案,使它更直观。