Maison > interface Web > js tutoriel > le corps du texte

Comment capturer efficacement les modifications d'URL dans les scripts Greasemonkey à l'aide de MutationObservers ?

Mary-Kate Olsen
Libérer: 2024-10-30 19:52:03
original
227 Les gens l'ont consulté

How to Efficiently Capture URL Changes in Greasemonkey Scripts Using MutationObservers?

Capture des modifications d'URL dans les scripts Greasemonkey

Dans un script Greasemonkey, la surveillance des modifications d'URL à l'aide d'événements est souvent nécessaire. Toutefois, les méthodes d’interrogation ou de délai d’attente peuvent ne pas être idéales. Voici une solution qui utilise MutationObservers pour détecter et gérer les modifications d'URL de manière transparente.

Pour mettre en œuvre cette approche, suivez ces étapes :

  1. Initialisez les variables de référence DOM :

    • Initialisez une variable pour contenir l'URL d'origine : var oldHref = document.location.href;
    • Sélectionnez l'élément body pour la surveillance de MutationObserver : var bodyList = document.querySelector( 'body');
  2. Créer un MutationObserver :

    • Instancier un MutationObserver avec une fonction de rappel qui se déclenche lorsque le Modifications d'URL : var observer = new MutationObserver(function(mutations) { ... });
  3. Configurer les options de MutationObserver :

    • Configurez l'observateur pour surveiller les modifications des enfants et des sous-arbres : var config = { childList : true, subtree : true };
  4. Ajouter un observateur au DOM :

    • Commencez à observer l'élément body pour détecter les modifications : observer.observe(bodyList, config);
  5. Gérer l'URL Modifications du rappel :

    • Dans le rappel de l'observateur, vérifiez les modifications d'URL et effectuez les actions nécessaires : if (oldHref != document.location.href) { ... }

Cette solution exploite MutationObservers, qui fournit un moyen efficace de surveiller les modifications du DOM, y compris celles résultant de modifications d'URL. Il évite les méthodes d'interrogation ou de délai d'attente, garantissant une détection en temps réel des modifications d'URL et un accès au DOM du document pointant vers l'URL modifiée.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!