Disable Tab Switch Detection

Prevent websites from detecting tab switches

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

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