News for hackers. Stuff that matters.
Re:Ask HN: Is YouTube using a dark pattern to prevent backgr... by rasz on Monday October 14, 2019 @04:40AM (#21246215)
I quickly did something like this for Twitch, seems to work:

    document.hasFocus = function() {
      return true;
    }
    Object.defineProperty(document, 'hasFocus', {value: true})
    
    document.hidden = function() {
      return false;
    }
    //Object.defineProperty(document, 'hidden', {value: false})
    Object.defineProperty(document, "hidden", {get: function() { return false; }
    });
    
    document.webkitHidden = function() {
      return false;
    }
    Object.defineProperty(document, 'webkitHidden', {value: false})
    
    document.addEventListener("focus", function(e) {
      e.stopPropagation();
      e.stopImmediatePropagation();
      e.preventDefault();
      return false;
    }, true);
    
    document.addEventListener("visibilitychange", function(e) {
      e.stopPropagation();
      e.stopImmediatePropagation();
      e.preventDefault();
      return false;
    }, true);

There are no comments on this comment yet.