Wenn Sie das Firebug Skript Panel öffnen, befindet sich oben links eine Schaltfläche, die wie eine Pause-Schaltfläche auf einer TV-Fernbedienung aussieht: ||
. Das weist Firebug an, das nächste laufende JavaScript zu pausieren. So würde ich die Seite öffnen, stellen Sie sicher, dass das Skript Panel aktiviert ist, klicken Sie auf diese Schaltfläche, und ändern Sie dann die select
Box. Das sollte einen Haltepunkt in Firebug auslösen, nach dem Sie durch den Code gehen können, um herauszufinden, wann wann aufgerufen wird.
Wenn es Ihnen nichts ausmacht, ein anderes Tool zu verwenden, verfügt Google Chrome über einen integrierten Debugger und einen Inspektor, der Ihnen die Ereignishandler anzeigen kann, die an ein Element angehängt sind. Wenn Sie also in Chrome die Seite aufrufen, klicken Sie mit der rechten Maustaste auf das Feld select
und wählen Sie Inspect Element. Auf der rechten Seite unten sollte eine Liste der Ereignishandler angezeigt werden. Das kann ein bisschen einfacher sein, mit zu arbeiten.
schließlich in jedem Werkzeug, wenn Sie das Stück Code in den Eingeweiden zu identifizieren, die die Daten reload tatsächlich verursacht (durch eine URL suchen, zum Beispiel, oder eine XmlHTTPRequest
Instanz oder .ajax
jQuery, .post
, .get
, Oder .getJSON
Funktionen, wenn es jquery verwendet), können Sie einen Haltepunkt darauf setzen und dann die Auswahl auslösen, dann schauen Sie sich die Aufrufliste (auf der rechten Seite in beiden Tools).
Viel Glück!
Ich bevorzuge GC tatsächlich, aber ich dachte nicht, dass es mit Cognos funktionieren würde. Ich werde es versuchen und melden. Danke TJ! – Nic
Eep. Ok, also kein Glück in Chrome, weil es nicht von Cognos unterstützt wird.Also ging ich zurück zu FF/FB und nutzte die Pause wie vorgeschlagen. Ich habe einen AJAX-Anruf ausgelöst, aber das Skript wurde nicht unterbrochen. Ich tat dies, bevor ich die Frage stellte und dachte, ich hätte etwas falsch gemacht. Irgendwelche Ideen? Der AJAX-Anruf wurde noch gesendet. – Nic
@ melee: Wow. Eigentlich wow^2 weil ich überrascht bin, dass Cognos nicht mit Chrome funktioniert (was machen sie, Browser sniffing? Tsk). Leider, wenn die Pause nicht funktioniert hat, können Sie nur herausfinden, wie sie den Handler anhängen (einfach, wenn das 'select' eine' id' oder sogar einen 'onclick' hat, härter, wenn dies nicht der Fall ist) und setzen Sie einen Haltepunkt auf den gefundenen Handler. Aber das wusstest du. :-(Viel Glück! –