YouTube在线重复播放



我正在尝试制作一个在线视频。

我开始寻找重放按钮来触发另一轮:

$("[title='Replay']")[0].click();

一个自调用函数,当视频运行时在后台循环。

rpt=function(){setTimeout(function(){alert("blarg");rpt()},5000)}

把这两件事放在一起,加上一点绒毛:$ = jQuery初始化shiny $()语法,最后rpt();使事情滚动:

$=jQuery,rpt=function(){setTimeout(function(){$("[title='Replay']")[0].click(),rpt()},100)};rpt();

唉,部分起作用,但不是全部

我注意到如果我在视频结束之前进入最后一行,控制台会打印错误信息;因为按钮还没有找到,因此对未定义的.click()的调用不起作用。

函数不应该在后台循环,并在以后的调用中触发,只要重播按钮有jQuery抓取?

我使用chrome 44.0.2403.130和jQuery: 1.10.1

添加验证以确保存在可用的重放元素

setInterval()代替setTimeout()

默认情况下(除非您使用其他冲突库),jQuery在初始化时被分配给$变量。

setInterval(function(){if($("[title='Replay']").length)$("[title='Replay']").trigger('click');},100);

一行repeat + title:

var title=$('#eow-title').innerHTML; var replaysN = 1; setInterval(function(){if($('.ytp-play-button').title == 'Replay') {$('.ytp-play-button').click();$('#eow-title').innerHTML = title+' (x'+replaysN+')';replaysN++;} }, 1000);

. .在发表这篇文章几周后,youtube上出现了一个新功能:D右键单击视频->循环所以每个定制都是无用的:)

最新更新