Search code examples
javascriptautomationonclick

Kill refresh script onclick


I'm trying to write a very simple auto-refreshing userscript that immediately stops refreshing when the page is clicked anywhere. I have absolutely no coding experience so help would be greatly appreciated.

var cancelled = false;
document.body.addEventListener("click",function(){cancelled=true;});
function goodluck() {
if (cancelled=false) {
      setTimeout(function(){ location.reload(); }, Math.floor(Math.random() * 4000));}
else if (cancelled=true) {return;}
}

Solution

  • (function() {
        'use strict';
    
        var didClick = false;
        var interval = Math.floor(Math.random() * 4000);
    
        function refresh() {
            var timeout = setTimeout(function() {
                if (didClick) {
                    return;
                }
                location.reload();
            }, interval);
    
            document.addEventListener('click', function clickHandler() {
                if (!didClick) {
                    didClick = true;
                    clearTimeout(timeout);
                }
                document.removeEventListener('click', clickHandler);
            });
       }
    
        window.onload = function() {
            refresh();
        };
    })();