gpt4 book ai didi

javascript - 从 youtube.com 上的 YouTube 播放器状态触发事件

转载 作者:行者123 更新时间:2023-11-27 23:56:30 27 4
gpt4 key购买 nike

我试图在 youtube.com 上的视频结束时触发扩展程序中的事件。

我找不到其他扩展程序的任何示例。

到目前为止我尝试过的:

编辑:我像这里一样注入(inject)了脚本:https://stackoverflow.com/a/9310273/4279201

现在,随着注入(inject)的进行,alert('test') 确实会出现,因此注入(inject)会一直有效。但后来什么也没发生,有什么想法吗?

//script.js file
alert('test');
function onPlayerStateChange(event) {
if(event.data === YT.PlayerState.ENDED) {
alert('done');
}
}

或者:

//script.js file
alert('test');
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player( 'player', {
events: { 'onStateChange': onPlayerStateChange }
});
}
function onPlayerStateChange(event) {
if(event.data === YT.PlayerState.ENDED) {
alert('done');
}
}

事件常量来自:https://developers.google.com/youtube/js_api_reference?csw=1#Events

我的 list 文件:http://chopapp.com/#j89brn5fbk.js为空,cnt.js就像脚本注入(inject)链接中一样。 script.js 位于上面。

最佳答案

由于您没有嵌入并且需要 HTML5 播放器,因此您根本不需要任何技巧,包括注入(inject)到页面中。

您有一个带有(单个)<video> 的 DOM其中的元素。您可以像平常一样附加到其事件。

示例:

// Content script; assumes the page already created the <video> element
var video = document.getElementsByTagName("video")[0];
if(video) {
video.addEventListener("ended", function() {
console.log("Video ended");
})
} else {
console.error("Video element not found");
}

您可以在MDN Media Events reference查看其他事件.

关于javascript - 从 youtube.com 上的 YouTube 播放器状态触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32222084/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com