Heim > Web-Frontend > js-Tutorial > Wie führe ich Code aus, wenn sich die URL der Seite mit MutationObserver in Greasemonkey ändert?

Wie führe ich Code aus, wenn sich die URL der Seite mit MutationObserver in Greasemonkey ändert?

DDD
Freigeben: 2024-10-29 03:59:29
Original
403 Leute haben es durchsucht

How to Execute Code When the Page's URL Changes with MutationObserver in Greasemonkey?

So führen Sie Code aus, wenn sich die URL der Seite ändert

Im Kontext der Greasemonkey-Skripterstellung wird es notwendig, auf Änderungen in einer Seite zu reagieren URL (location.href) effizient. Um dies ohne Zeitüberschreitungen oder Abfragen zu erreichen, sollten Sie die MutationObserver-API nutzen.

Lösung mit MutationObserver

  1. Initialisieren Sie die alte URL:

    <code class="js">var oldHref = document.location.href;</code>
    Nach dem Login kopieren
  2. Fügen Sie einen MutationObserver zum Körperelement hinzu:

    <code class="js">window.onload = function() {
        var bodyList = document.querySelector('body');
    
        var observer = new MutationObserver(function(mutations) {
            if (oldHref != document.location.href) {
                oldHref = document.location.href;
                /* Execute your code here */
            }
        });
    
        var config = {
            childList: true,
            subtree: true
        };
    
        observer.observe(bodyList, config);
    };</code>
    Nach dem Login kopieren

Neueste JavaScript-Spezifikation

Verwenden Sie für moderne Browser, die die neueste JavaScript-Spezifikation unterstützen, die folgende vereinfachte Syntax:

<code class="js">const observeUrlChange = () => {
  let oldHref = document.location.href;
  const body = document.querySelector('body');
  const observer = new MutationObserver(mutations => {
    if (oldHref !== document.location.href) {
      oldHref = document.location.href;
      /* Execute your code here */
    }
  });
  observer.observe(body, { childList: true, subtree: true });
};

window.onload = observeUrlChange;</code>
Nach dem Login kopieren

Durch die Verwendung von MutationObserver können Sie URL-Änderungen effektiv erfassen und die Ausführung von benutzerdefiniertem Code auslösen, ohne auf unzuverlässige Abfragetechniken zurückgreifen zu müssen.

Das obige ist der detaillierte Inhalt vonWie führe ich Code aus, wenn sich die URL der Seite mit MutationObserver in Greasemonkey ändert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage