Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie kann ich ein Greasemonkey-Skript mehrmals auf derselben Seite ausführen, ohne es zu aktualisieren?

Susan Sarandon
Freigeben: 2024-11-16 11:12:02
Original
979 Leute haben es durchsucht

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

Greasemonkey-Skripte mehrmals pro Seite ausführen

Als neuer Benutzer von Greasemonkey und der Webentwicklung stoßen Sie auf eine Herausforderung: das mehrfache Ausführen eines Benutzerskripts Mal auf derselben Seite, ohne die Seite zu aktualisieren. Dies ist für Szenarien wie Ajax-gesteuerte Amazon-Suchen erforderlich, bei denen Sie ein benutzerdefiniertes Element in die Suchergebnisse einfügen möchten, sobald diese angezeigt werden.

Die von erfahrenen Benutzern empfohlene effektive Lösung ist waitForKeyElements() Dienstprogramm. Sie können damit ein Zielelement auf der Seite angeben und eine Rückruffunktion registrieren, die jedes Mal ausgeführt wird, wenn das Zielelement hinzugefügt oder geändert wird.

Um seine Verwendung zu demonstrieren, betrachten wir ein modifiziertes Skript zum Ändern von Amazon-Suchergebnissen :

// 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>
Nach dem Login kopieren

So funktioniert es:

  • Die Funktion waitForKeyElements() überwacht das Zielelement (in diesem Fall #atfResults) und ruft den Rückruf auf Funktion (addCustomSearchResult) immer dann, wenn das Element hinzugefügt oder geändert wird.
  • In der Rückruffunktion können Sie Ihren benutzerdefinierten Inhalt in das Suchergebnis-Div einfügen.
  • Da dieser Vorgang ohne Seitenaktualisierungen erfolgt, werden Ihre Das benutzerdefinierte Element wird jedes Mal in den Suchergebnissen angezeigt, wenn eine neue Ajax-Anfrage gestellt wird.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Greasemonkey-Skript mehrmals auf derselben Seite ausführen, ohne es zu aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage