Maison > interface Web > js tutoriel > Comment puis-je exécuter un script Greasemonkey plusieurs fois sur la même page sans actualiser ?

Comment puis-je exécuter un script Greasemonkey plusieurs fois sur la même page sans actualiser ?

Susan Sarandon
Libérer: 2024-11-16 11:12:02
original
1044 Les gens l'ont consulté

How Can I Execute a Greasemonkey Script Multiple Times on the Same Page Without Refreshing?

Exécuter des scripts Greasemonkey plusieurs fois par page

En tant que nouvel utilisateur de Greasemonkey et du développement Web, vous rencontrez un défi : exécuter un script utilisateur multiple fois sur la même page sans actualiser la page. Cela est nécessaire pour des scénarios tels que les recherches Amazon basées sur Ajax, dans lesquelles vous souhaitez insérer un élément personnalisé dans les résultats de recherche au fur et à mesure qu'ils apparaissent.

La solution efficace recommandée par les utilisateurs expérimentés est la waitForKeyElements() utilitaire. Il vous permet de spécifier un élément cible sur la page et d'enregistrer une fonction de rappel qui s'exécutera à chaque fois que l'élément cible est ajouté ou modifié.

Pour démontrer son utilisation, considérons un script modifié pour modifier les résultats de recherche Amazon. :

// Greasemonkey script to alter Amazon search results
// ==UserScript==
// @name     _Amazon Search, alter results
// @include  http://www.amazon.com/s/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==

function addCustomSearchResult (jNode) {
    // Inject your custom element
    jNode.prepend (
        '<div>
Copier après la connexion

Voici comment cela fonctionne :

  • La fonction waitForKeyElements() surveille l'élément cible (#atfResults dans ce cas) et appelle le rappel (addCustomSearchResult) chaque fois que l'élément est ajouté ou modifié.
  • Dans la fonction de rappel, vous pouvez injecter votre contenu personnalisé dans le div des résultats de recherche.
  • Étant donné que ce processus se produit sans actualisation de page, votre L'élément personnalisé apparaîtra dans les résultats de recherche à chaque fois qu'une nouvelle requête Ajax est effectué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