Google AI Overview Blocker

Скрывает ИИ-обзоры (AI Overview) в результатах поиска Google

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         Google AI Overview Blocker
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  Скрывает ИИ-обзоры (AI Overview) в результатах поиска Google
// @author       UXImprover
// @match        https://www.google.com/*
// @grant        none
// @icon         https://i.ibb.co/jPTdQPvj/istockphoto-1468514478-612x612-1.jpg
// @run-at       document-idle
// ==/UserScript==

(function () {
    'use strict';

    const hideAIO = () => {
        const aiBlocks = document.querySelectorAll('div[jscontroller="EYwa3d"]');
        aiBlocks.forEach(el => {
            el.style.display = 'none';
            el.style.visibility = 'hidden';
        });

        const extraEl = document.querySelector('#Odp5De > div:nth-child(1) > div');
        if (extraEl) {
            extraEl.style.display = 'none';
            extraEl.style.visibility = 'hidden';
        }

        const extraEl2 = document.querySelector('#m-x-content > div');
        if (extraEl2) {
            extraEl2.style.display = 'none';
            extraEl2.style.visibility = 'hidden';
        }
    };

    hideAIO();

    const observer = new MutationObserver(hideAIO);
    observer.observe(document.body, { childList: true, subtree: true });
})();