我正在尝试制作一个在线视频。
我开始寻找重放按钮来触发另一轮:
$("[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右键单击视频->循环所以每个定制都是无用的:)