2010-11-26 4 views
2

Ich habe einige besonders fiese Javascript, die ich versuche zu debuggen. Insbesondere versuche ich festzustellen, welche Funktionen bestimmte HTTP-Anfragen ausführen. Aufgrund der Scherengröße der .js-Datei und der allgemein schlechten Qualität ist es nicht so einfach, die Datei manuell zu durchsuchen.Ermitteln von JavaScript-Funktionen, die HTTP-Anfragen erstellen

Ich bin vage Erfahrung mit Fiddler und Firebug, ist das eine Fähigkeit in diese Anwendungen eingebaut? Gibt es dafür einen besseren Weg, wenn es überhaupt möglich ist?

Antwort

2

In der Entwicklungsversion von Google Chrome haben Sie jetzt die Möglichkeit, den Code auf einem beliebigen XHR zu brechen. (Schraubenschlüssel> Tools> Entwicklertools) alt text

1

Yup! In Firebug gehen Sie zu 'Net' im oberen Menü und wählen Sie 'XHR' aus dem Menü direkt unten, um alle Ajax-Anrufe während eines Besuchs auf der Seite zu sehen. Dies zeigt eine Fülle von Informationen wie die Dauer der Anrufe und Anfrage/Antwort-Header.

+0

Ich glaube nicht, dass es Ihnen sagt, welche Funktionen die Anfrage auslösen, nur Informationen über die Details der Anfrage selbst. – billythekid

+0

true ... dachte, ich hätte es irgendwo drin gesehen, aber ich lag falsch. – Hersheezy

+0

Das sollte jedoch dazu beitragen, einige der möglichen Code-Trigger einzugrenzen. –

3

Unabhängig von ihrer Größe oder Qualität der Datei, sollten Sie in der Lage sein, für das Keyword ‚XMLHttpRequest‘ grep und Haltepunkte setzen, wo es verwendet wird.

Sie könnte auch auf Seite laden, bevor irgendetwas anderes genannt wird, monkeypatch das XMLHttpRequest global:

var open = XMLHttpRequest.open; 
XMLHttpRequest.open = function(){ 
    console.log(this, arguments); 
    return open.apply(this, arguments); 
}; 

Oder etwas raffinierter.