Heim >Web-Frontend >js-Tutorial >Wie führe ich Code aus, wenn sich die URL der Seite mit MutationObserver in Greasemonkey ändert?
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
Initialisieren Sie die alte URL:
<code class="js">var oldHref = document.location.href;</code>
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>
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>
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!