Maison > interface Web > js tutoriel > Comment détecter et répondre aux modifications d'URL en JavaScript ?

Comment détecter et répondre aux modifications d'URL en JavaScript ?

Linda Hamilton
Libérer: 2024-10-28 18:10:30
original
368 Les gens l'ont consulté

How to Detect and Respond to URL Changes in JavaScript?

Comment déclencher un événement lorsque l'URL change

Lors du développement de scripts Greasemonkey pour des sites Web qui modifient périodiquement le window.location.href, il est il est souvent nécessaire d'effectuer des actions spécifiques en réponse à ces modifications d'URL. Cependant, utiliser des interrogations ou des délais d'attente comme solutions potentielles peut s'avérer inefficace.

Pour éviter de tels problèmes, nous présentons une méthode très efficace qui utilise l'API MutationObserver. En surveillant les modifications au sein de l'élément body, ce script peut détecter efficacement les modifications d'URL et donner accès au DOM du document modifié :

var oldHref = document.location.href;

window.onload = function() {
    var bodyList = document.querySelector('body');

    var observer = new MutationObserver(function(mutations) {
        if (oldHref != document.location.href) {
            oldHref = document.location.href;
            /* Insert your code here */
        }
    });
    
    var config = {
        childList: true,
        subtree: true
    };
    
    observer.observe(bodyList, config);
};
Copier après la connexion

Alternativement, si vous préférez une approche plus concise et moderne, vous pouvez utiliser ce qui suit script, qui exploite la dernière spécification JavaScript :

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;
      /* Insert your code here */
    }
  });
  observer.observe(body, { childList: true, subtree: true });
};

window.onload = observeUrlChange;
Copier après la connexion

Cette méthode vous permet d'attacher la fonctionnalité souhaitée à l'événement déclenché lorsque l'URL change, donnant accès au DOM du document modifié.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal