Disable Tab Switch Detection

Prevent websites from detecting tab switches

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name         Disable Tab Switch Detection
// @namespace    http://tampermonkey.net/
// @version      0.5
// @description  Prevent websites from detecting tab switches
// @author       DharmTej
// @match        *://*/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';
    
    // Caution: Might affect other websites. Make sure to disable it when not needed.

    Object.defineProperty(document, "hidden", {
        get: function() { return false; },
        configurable: true
    });

    Object.defineProperty(document, "visibilityState", {
        get: function() { return "visible"; },
        configurable: true
    });

    document.addEventListener("visibilitychange", function(event) {
        event.stopImmediatePropagation();
        console.log('Tab switch detection blocked');
    }, true);
})();