So überschreiben Sie den von einem anderen Skript geladenen Variablenparameter

8

Ich habe ein Skript, das den Code dynamisch lädt. Es ist eine Art Suchmaschine. Wenn ich einen Suchknopf drücke, wird die Aktion ausgelöst und eine neue Seite mit vielen Parametern geöffnet.

Ich möchte einen der Parameter überschreiben, die mit dem Skript in der neuen URL generiert wurden. JS-Code ist ziemlich groß und schwer zu lesen, aber ich habe den wichtigen Teil im Firebug DOM-Editor gefunden.

Dies ist das Muster der URL, die beim Ausführen der Suche generiert wird:

%Vor%

Was ich bearbeiten möchte, ist "ThisParameter" und ändere seinen Wert. Dies ist der Teil, der im DOM bearbeitet wird, der tut, was ich will:

%Vor%

Und das ist die Ausgabe von "ThisParameter", wenn Sie "Pfad kopieren" in Firebugs DOM-Tab wählen:

%Vor%

Ich frage mich, ob das überhaupt möglich ist. Was mich denken lässt, ist, dass ich diesen Parameter in Firebug ändern kann und es funktioniert perfekt. Also, wenn Firebug es bearbeiten kann, sollte es einen Weg geben, es mit einem anderen Skript zu beeinflussen.

Ich freue mich auf Vorschläge, danke im Voraus!

    
take2 23.10.2012, 18:22
quelle

3 Antworten

1

Da Sie das dynamische Skript nicht bearbeiten können, haben Sie folgende Möglichkeiten:

  1. Sie müssen versuchen, dem Skript die richtige Eingabe zu geben und hoffen, dass es Ihren Wert verwendet.
  2. Fügen Sie der Ergebnisseite ein Skript hinzu, das die URL und die Argumente liest, ändert und umleitet, wie wir hier besprochen haben >. (Wenn Sie alles in Funktionen einfügen, sollte es nicht mit dem dynamischen Skript in Konflikt stehen, wenn die Funktionen eindeutig benannt sind.)

Sie könnten versuchen, etwas wie diesen jQuery-Code mit der Suchschaltfläche zur Seite hinzuzufügen:

%Vor%     
Stefan 23.10.2012 18:55
quelle
0

Sie können jede js-Funktion und -Methode überschreiben oder den Code um sie herum wickeln. Am einfachsten wäre es, sich den Code anzusehen, den Sie erhalten, und sobald er geladen ist, deklarieren Sie eine Methode mit Ihrer eigenen Funktionalität.

Wenn Sie versuchen, einen Parameter in einer bestimmten jquery-Anfrage zu ersetzen, können Sie sogar die jquerys ajax-Methode umschließen:

%Vor%

Aber es wäre viel sauberer, die Methode zu überschreiben, die die Ajax-Anfrage statt der Ajax-Anfrage selbst erstellt.

    
nxtwrld 31.10.2012 13:40
quelle
0

Ich würde den Umfang der Variablen options weiter untersuchen ( var options ), ist das global? Wenn Sie in der Firebug-Konsole "Optionen" eingeben, werden dann die Eigenschaften angezeigt?

Wenn ja, könnten Sie dann über Ihr eigenes Skript darauf zugreifen und den Wert ändern, z. B.

%Vor%

Sie können Ihr Skript mit dem click-Ereignis der Suchschaltfläche verknüpfen.

Ich hoffe, das hilft, es könnte genauer sein, wenn Sie irgendwo einen Beispielcode haben.

    
David Riccitelli 01.11.2012 22:30
quelle

Tags und Links