XX-Ergebnisse ausblenden, die mit KI gefunden wurden – standardmäßig aktivieren

Als temporäre Lösung, falls jemand den Umschaltknopf standardmäßig aktivieren muss, können Sie dieses Skript zu Ihrem Theme hinzufügen (ich habe es unter <body> platziert), das im Grunde nach einer Änderung der KI-Suchergebnisse sucht und dann die KI-Ergebnisse auf aktiviert umschaltet. Dies ist kein sauberer Code, vielleicht hat @awesomerobot eine elegantere Methode dafür.

<script type="text/javascript">
    // DIESES SKRIPT DIENT DAZU, DEN SCHALTER ZU AKTIVIEREN, UM SUCHERGEBNISSE VON KI NACH ABSCHLUSS DER SUCHE EINZUBEZIEHEN - LÖSCHEN, SOBALD ES EINE NATIVE OPTION GIBT, DIES STANDARDMÄSSIG ZU AKTIVIEREN
    console.log('Skript geladen. Ständige Suche nach .semantic-search__searching und Verwaltung des Beobachters.');

    let searchObserver = null; // Variable zur Speicherung der Beobachterinstanz

    function observeSearchContainer() {
      const searchStatusContainer = document.querySelector('.semantic-search__searching');

      if (searchStatusContainer) {
        // Wenn der Container gefunden wurde
        if (!searchObserver) {
            // Wenn noch kein Beobachter läuft, starten Sie einen
            console.log('.semantic-search__searching gefunden. Beobachtung gestartet.');

            searchObserver = new MutationObserver(function(mutations) {
              //console.log('Mutation in .semantic-search__searching erkannt:', mutations);
              mutations.forEach(function(mutation) {
                // Prüfen Sie auf relevante Mutationen innerhalb des beobachteten Containers
                if (mutation.type === 'characterData') {
                  //console.log('Relevanter Mutationstyp erkannt. Versuch, die Funktionalität des Umschaltknopfes auszulösen. ' + mutation.type);
                  const currentToggleButton = document.querySelector('button.d-toggle-switch__checkbox.semantic-search__results-toggle');
                  if (currentToggleButton) {
                      const isCurrentlyEnabled = currentToggleButton.getAttribute('aria-checked') === 'true';
                      if (!isCurrentlyEnabled) { // Wenn der Schalter derzeit NICHT aktiviert ist
                        // Löst ein Klickereignis aus, um die zugehörige Funktionalität zu aktivieren
                        currentToggleButton.click();
                        console.log('Klickereignis des Umschaltknopfes ausgelöst.');
                      } else {
                        console.log('Umschaltknopf bereits aktiviert.');
                      }
                  } else {
                    // Dieser Fall kann eintreten, wenn der Umschaltknopf entfernt wird, während der Container noch vorhanden ist
                    console.log('Umschaltknopf nicht gefunden, als versucht wurde, die Funktionalität auszulösen.');
                  }
                }
              });
            });

            const config = { childList: true, subtree: true, characterData: true, attributes: true };
            searchObserver.observe(searchStatusContainer, config);
            console.log('MutationObserver auf .semantic-search__searching gestartet.');
        } else {
            // Container gefunden und Beobachter ist bereits dafür aktiv
            //console.log('.semantic-search__searching gefunden, Beobachter bereits aktiv.');
        }
      } else {
        // Wenn der Container NICHT gefunden wurde
        if (searchObserver) {
            // Wenn zuvor ein Beobachter lief, bedeutet dies, dass der Container entfernt wurde
            console.log('.semantic-search__searching entfernt. Beobachter getrennt.');
            searchObserver.disconnect(); // Beobachtung stoppen
            searchObserver = null; // Beobachtervariable zurücksetzen
        } else {
            // Container nicht gefunden und kein Beobachter aktiv (korrekter Zustand)
            //console.log('.semantic-search__searching noch nicht gefunden.');
        }
      }
    }

    // Verwenden Sie ein Intervall, um periodisch auf die Existenz des Containers zu prüfen
    const containerCheckInterval = setInterval(observeSearchContainer, 500); // Alle 500 Millisekunden prüfen
</script>