Greasy Fork is available in English.

Auto-Espande Google Search Tools

Mostra il menu Strumenti di ricerca nei risultati di ricerca di Google

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
// ==UserScript==
// @name           Auto-Espande Google Search Tools
// @description    Mostra il menu Strumenti di ricerca nei risultati di ricerca di Google
// @namespace      https://greasyfork.org/users/237458
// @author         figuccio
// @version        24.7
// @match          https://*.google.com/*
// @match          https://*.google.it/*
// @match          https://*.google.fr/*
// @match          https://*.google.es/*
// @match          https://*.google.de/*
// @exclude        https://drive.google.com/*
// @require        https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js
// @require        https://greasyfork.org/scripts/5392-waitforkeyelements/code/WaitForKeyElements.js?version=19641
// @grant          GM_addStyle
// @grant          GM_setValue
// @grant          GM_getValue
// @run-at         document-start
// @icon           https://www.google.com/favicon.ico
// @noframes
// @license        MIT
// @grant          GM_registerMenuCommand
// @require        http://code.jquery.com/jquery-latest.js
// @require        https://code.jquery.com/ui/1.13.2/jquery-ui.js
// ==/UserScript==
(function() {
'use strict';
    //scorrimento continuo pagine
    console.log('goo goo');
    window.onscroll = function() {
    var doc = document.documentElement;
    var current = doc.scrollTop + window.innerHeight;
    var height = doc.offsetHeight;

    if (current === height) {
        console.log('In fondo alla pagina');
        var nextButton = document.getElementById('pnnext');
        if (nextButton) {
            nextButton.click();
        } else {
            console.log('Nessun pulsante per la pagina successiva trovato.');
        }
    }
};
////////////////////
 miglioralo();
function miglioralo() {
  if (document.readyState !== 'loading') {
    consent();
  } else {
    document.addEventListener('DOMContentLoaded', consent);
  }
}

function consent() {
  var consentButton = document.querySelector('#introAgreeButton');

  if (!consentButton) {
    consentButton = document.querySelector('div.jw8mI button#zV9nZe.tHlp8d, div.VDity button#L2AGLb.tHlp8d, div.GzLjMd button#L2AGLb.tHlp8d, form[action="https://consent.google.com/s"] button');
  }

  if (!consentButton) {
    let otherButtons = document.querySelectorAll('div.lssxud button.nCP5yc:not(:disabled)');
    if (otherButtons.length > 1) {
      consentButton = otherButtons[1];
    }
  }

  if (consentButton) {
    consentButton.click();
  }
}
//////////////////////////////////////////////////////////////////////
    // Funzione per cercare e cliccare sull'elemento tema scuro on
    function clickOnDarkTheme() {
        const elements = document.querySelectorAll('*');
        elements.forEach(element => {
            if (element.textContent.includes('Tema scuro: disattivato')) {
                element.click();
            }
        });
    }

    // Esegui la funzione al caricamento della pagina
    window.addEventListener('load', clickOnDarkTheme);
//////////////////////////////////////////////////////////////////////
/////////////////////disattiva SafeSearch giugno 2024
(function() {
  var url = new URL(window.location.href);
  var params = url.searchParams;

  // Controlla se il parametro 'safe' è già impostato su 'off'
  if (params.get('safe') !== 'off') {
    params.set('safe', 'off');
    window.location.replace(url.toString());
  }
   /////////////////////////////////////////
  // Controlla se il parametro 'newwindows' è già impostato su '1'
  if (params.get('newwindow') !== '1') {
    params.set('newwindow', '1');
    window.location.replace(url.toString());
  }
     //30 risultati per pagina
   if (params.get('num') !== '30') {
    params.set('num', '30');
    window.location.replace(url.toString());
  }
})();
//////////////////////////
//popup accedi a google (invasivo)settembre 2023
GM_addStyle(".nD2EKb{display:none!important;}");
//Filtro alcuni  risultati potrebbero essere espliciti click automatico su ignora
setTimeout(function(){document.querySelector("#appbar > div.zNFAfd > div > div.zRHtD > div.O6QT3d > div > div").click();},1000);//8marzo 2023

GM_addStyle("#result-stats{display:none!important;}");/* Circa 261.000.000 risultati (0,61 secondi) nascosto */

//pulsante Strumenti di ricerca rosso
GM_addStyle("#hdtb-tls {color:red!important;background:green!important;border-radius:12px;border:2px solid red!important}");
GM_addStyle("#hdtb-tls:hover{color:gold!important;}");
                             //safesearch
GM_addStyle(".F75bid {color:red!important;}");//link
GM_addStyle(".F75bid:hover {color:gold!important;}");//al passaggio mouse
GM_addStyle(".fFI3rb {background:green!important;border-radius:10px;border:2px solid red!important;}");//background
   //colore link immag notiz libri mappe
GM_addStyle('.YmvwI{color:red!important; background:yellow!important;border-radius:8px;border:2px solid blue!important;}');
GM_addStyle('.YmvwI:hover{color:green!important;}');
GM_addStyle('.Lu57id{color:red!important; background:yellow!important;border-radius:8px;border:2px solid blue!important;}');//altro
GM_addStyle('.Lu57id:hover{color:green!important;}');//altro al passaggio mouse

//////////////////////////////////////////////////////////
GM_addStyle('.KTBKoe{color:red!important; background:yellow!important;border-radius:8px;border:px solid !important;}');//colori qualsiasi paese lingua data ecc
GM_addStyle('.KTBKoe:hover{color:green!important;}');//al passaggio mouse
GM_addStyle('.AozSsc{color:red!important; background:yellow!important;border-radius:8px;border:px solid !important;}');//cancella
GM_addStyle('.AozSsc:hover{color:green!important;}');//cancella al pass mouse

//triangolini rossi
GM_addStyle('.gTl8xb {border-color:red transparent!important}');
//menu colorato
GM_addStyle('.cF4V5c {color:lime!important;background:red !important;}');
GM_addStyle('.cF4V5c {border:2px solid blue!important}');//bordo blu
//no publicita correlate
GM_addStyle('#rcnt .col:nth-of-type(3) {display:none !important;}');
//Promemoria sulla privacy di Google
GM_addStyle('#cnsh,#cnso,#cnsi{display:none!important}');
//ricerche correlate
GM_addStyle('#brs {display:none!important;}');
GM_addStyle('.commercial-unit-desktop-top {display:none!important;}');
//di nuovo publicita e correlati a destra
GM_addStyle('#rhs {display:none!important;}');
GM_addStyle('.YTDezd {display:none!important;}');

//////////////////////////////////////////////////aggiunto youtube
function process(mutations) {
  // Rimuovi l'osservatore delle mutazioni
  observer.disconnect();

  let q,
    queryElement = document.querySelector('input[name="q"]');

  if (queryElement?.value) q = encodeURIComponent(queryElement.value);
  else if (q = location.href.match(/^.+?(?:[#/&?](?:q|query))=(.+?)(?:|&.+|\|.+)$/)) q = q[1];

  let link = document.querySelector(`a[href*='tbm=vid']`);

  if (q && link?.href) {
    link.href = 'https://www.youtube.com/results?search_query=' + q;
    link.textContent = 'YouTube';

    // Aggiungi stili al link
    link.style.backgroundColor = 'yellow';
    link.style.color = 'red';
    link.style.borderRadius = '12px';
    link.style.border = '2px solid blue';
    link.style.padding = '7px';
    link.style.marginBottom = '-9px';

    // Aggiungi event listener per l'effetto al passaggio del mouse
    link.addEventListener('mouseover', function () {
      this.style.color = 'green';
    });

    // Reimposta il colore quando il mouse se ne va
    link.addEventListener('mouseout', function () {
      this.style.color = 'red';
    });

    console.log('create', link.textContent);
  }
}

// Osserva le mutazioni nel documento
let observer = new MutationObserver(process);
observer.observe(document.body || document.documentElement, { childList: true, subtree: true });
///////////////////////////////////
(function() {
  'use strict';
    ///////////////////// Mostra il menu Strumenti di ricerca
    const interval = setInterval(() =>
    {var toolsButton = document.getElementById('hdtb-tls');
     if (toolsButton.getAttribute("aria-expanded") === "true") {

        clearInterval(interval);
        }
        else{toolsButton.click();
        }
    }, 250);
    ///////////////////////////////////////////
    // Funzione per inizializzare la finestra
    function initializeWindow() {
        // Aggiunge il CSS per lo stile della finestra
        GM_addStyle(`
            #userscript_window #datePickerx,
            #userscript_window #dynamic_select,
            #userscript_window #ricarica {
            display:inline-block;
            margin-right:10px;
            }
            #datePickerx {
                border-radius: 5px;
                border: 1px solid yellow;
                cursor: pointer;
                background:#3b3b3b;
            }
            #ricarica {
                border-radius: 5px;
                border: 1px solid yellow;
                color: lime;
                cursor: pointer;
                background:#3b3b3b;
                width: 60px;
            }
            #dynamic_select {
                border-radius: 5px;
                border: 1px solid yellow;
                color: lime;
                cursor: pointer;
                background:#3b3b3b;
            }

            #close {
                border-radius: 5px;
                border: 1px solid gold;
                background: chocolate;
                color: lime;
                cursor: pointer;
                padding: 3px 6px;
            }
        `);
        // Crea la finestra e aggiunge il contenuto
       var $ = window.jQuery;
$('body').append(`
    <div id="userscript_window" style="position: absolute; top:5px; left:850px; width:450px; height:auto; z-index:9999;color:lime;">
        <fieldset style="background-color:#3b3b3b; border:2px solid red; border-radius:5px; padding:10px;">
            <legend style="text-align: center; color:lime;">Clock</legend>
            <div id="datePickerx" title="Data-ora"></div>
            <button id="ricarica" title="Reflesh" type="button">Ricarica</button>
            <select id="dynamic_select" title="Menù">
                <option value="#">Scegli ...</option>
                <option style="background-color:Green" title="Vai su facebook" value="https://www.facebook.com/">Facebook</option>
                <option style="background-color:Brown" title="Vai su youtube" value="https://www.youtube.com/">Youtube</option>
                <option style="background-color:Red" title="Vedi altri script" value="https://greasyfork.org/it/users/237458-figuccio">Autore</option>
            </select>
            <span class="chiudi" title="Chiudi" id="close">x</span>
        </fieldset>
    </div>
`);

  // Reindirizza a una nuova pagina quando viene selezionata un'opzione nel menu
        $('#dynamic_select').on('change', function() {
            window.open($(this).val(), '_blank');//aprile 2024 i.a
        });
        // Imposta la posizione iniziale della finestra
        let windowPosition = {
            x: 50,
            y: 50
        };

        // Carica la posizione salvata precedentemente, se disponibile
        if (GM_getValue('userscript_window_position')) {
            windowPosition = JSON.parse(GM_getValue('userscript_window_position'));
            $('#userscript_window').css({top: windowPosition.y, left: windowPosition.x});
        }

        // Funzione per salvare la posizione della finestra
        function saveWindowPosition() {
            const position = $('#userscript_window').position();
            GM_setValue('userscript_window_position', JSON.stringify({x: position.left, y: position.top}));
        }

        // Funzione per aggiornare l'ora
        function updateClock() {
            const now = new Date();
            const date = now.toLocaleString('it', {'weekday': 'short', 'month': '2-digit', 'day': '2-digit', 'year': 'numeric'});
            const time = now.toLocaleTimeString();
            const milliseconds = now.getMilliseconds();
            $('#datePickerx').text(date + ' ' + time + ':' + milliseconds);
        }

        // Aggiorna l'orologio ogni 90 millisecondi
        setInterval(updateClock, 90);

        // Chiudi la finestra quando il pulsante di chiusura viene cliccato
            var Close=document.querySelector('#close');
            Close.addEventListener('click',provag,false);
        // Nascondi o mostra la finestra dal menu
function provag() {
var box = document.getElementById('userscript_window');
box.style.display = ((box.style.display!='none') ? 'none' : 'block');
}
GM_registerMenuCommand("nascondi/mostra time",provag);
        // Ricarica la pagina quando il pulsante viene cliccato
        $('#userscript_window').on('click', '#ricarica', function() {
            location.reload(true);
        });

        // Rendi la finestra trascinabile
        $('#userscript_window').draggable({
            containment: 'window',
            stop: saveWindowPosition
        });
    }
    // Chiama la funzione di inizializzazione della finestra
    initializeWindow();
})();
})();