我试图编写一个脚本,在特定事件发生后跳到Spotify上的下一首歌曲,我无法让它发挥作用。
我知道这里有很多已经问过这样的问题,但是我尝试了所有的答案,但是他们不适合我。
当我尝试使用Chrome控制台时,这些工作正常,但不在脚本中:
document.getElementsByClassName('spoticon-skip-forward-16')[0].click(); /*or*/
document.getElementsByClassName('spoticon-skip-forward-16')[0].trigger('click');
jQuery('spoticon-skip-forward-16:first').click(); /*or*/
jQuery('spoticon-skip-forward-16:first').trigger('click');
jQuery('spoticon-skip-forward-16:first').each(function () {
jQuery(this).css("color", "yellow");
var clickEvent = document.createEvent("MouseEvents");
clickEvent.initEvent ("click", true, true);
this.dispatchEvent (clickEvent);
});
jQuery(' spoticon-skip-forward-16:first')可以代替 jQuery(' spoticon-skip-forward-16&# 39;)。get(0)或 jQuery(' spoticon-skip-forward-16')[0] ,它们都在控制台中工作但在Tampermonkey中没有
我知道事件发生是因为我已经设置在点击之前更改按钮颜色,并且每次都会发生。
我没有错误,我尝试尝试捕捉但没有任何反应。
答案 0 :(得分:2)
您忘记添加。每当您在jQuery中按类引用元素时,您需要在类名前面添加。。
<强>错误强>
jQuery('spoticon-skip-forward-16:first').click(); /*or*/
jQuery('spoticon-skip-forward-16:first').trigger('click');
更改为
jQuery('.spoticon-skip-forward-16:first').click(); /*or*/
jQuery('.spoticon-skip-forward-16:first').trigger('click');
$('.spoticon-skip-forward-16').click(function(){
console.log($(this).attr('id'));
});
$('.spoticon-skip-forward-16:first').click();
$('.spoticon-skip-forward-16:last').click();
$('.spoticon-skip-forward-16').each(function () {
$(this).css({
color: 'yellow',
background: '#000'
});
var clickEvent = document.createEvent("MouseEvents");
clickEvent.initEvent ("click", true, true);
this.dispatchEvent (clickEvent);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="submit" class="spoticon-skip-forward-16" id="btn1">
Submit
</button>
<button type="submit" class="spoticon-skip-forward-16" id="btn2">
Submit
</button>
<button type="submit" class="spoticon-skip-forward-16" id="btn3">
Submit
</button>
&#13;