'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 1:[1]

(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();
    };
})();

Solution 2:[2]

(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();
};

})();

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Matt Hamil
Solution 2 sanskar_stack