Trying to write a userscript for TamperMonkey to be running in browser for bypassing a waiting time as a training. Here is the script used in that page:
var timeout;
$(document).ready(function() {
$('#countdown').each(function(i, e) {
if (timeout) return;
timeout = setTimeout(tick, 1000);
function tick() {
console.log('Tick');
var remaining = parseInt($(e).find(".seconds").text()) - 1;
if (remaining <= 0) {
$(e).css('visibility', 'hidden');
} else {
$(e).find(".seconds").text(remaining.toString());
setTimeout(tick, 1000);
}
}
});
});
JQuery is enabled in my script and is working, I was able to disable/enable some web elements, here the question is just about the 'waiting time'.
Is it possible to bypass it?
Do I/you need any extra information regarding it?
I tried some pieces of code, still with no success:
for example:
// Tried the below variables with a hope to override them in therms they exists.
// wasn't sure if even the usage or approach be totally correct.
let seconds = 0;
let remaining = 0;
let tick = 1;
let timeout = 60;
$(document).ready(function () {
// altered some elements.
seconds = 0;
remaining = 0;
tick = 1;
timeout = 60;
});
The variables you declare in your userscript are not referenced at all in the page's script, so I don't know what you're expecting the userscript to affect.
Since the page's script retrieves the seconds remaining from a .seconds
element, you can modify that element to remove the timeout:
document.querySelector('.seconds').textContent = '1';
and that's it. This way you won't have to wait for it to count down, it'll finish immediately.