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
DDDOriginal
2024-10-29 03:59:29402Durchsuche

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>
  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>

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!

Stellungnahme:
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