Ich möchte eine JavaScript-Datei debuggen, die eingebettet im HEAD-Element ist.
Ich navigiere zur Site, sehe den Code und mache einen Haltepunkt :
alt text http://www.deviantsart.com/upload/qfqbvu.png
Aber wenn ich auf Neu laden klicke, verschwindet das Skript und es stoppt nicht am Haltepunkt:
alt text http://www.deviantsart.com/upload/bqes25.png
Das Debugging hat früher funktioniert, daher weiß ich, dass es im Allgemeinen funktioniert. Was muss ich tun, damit Firebug immer mein Skript debuggt?
Ich habe dieses Verhalten schon vorher bemerkt. Es scheint, dass es passieren kann, wenn Sie die Seite aktualisieren, während der Debugger ausgeführt wird (d. H. Nachdem Sie Ihren Haltepunkt gedrückt haben und Code durchgehen). Das ist alles andere als überzeugend, nur etwas, das ich im Laufe der Zeit beobachtet habe.
Ich versuche auch zu vermeiden, dass mehrere Tabs mit aktivem Firebug geöffnet werden, da es verwirrt zu sein scheint.
Edit: Ich dachte nur, ich würde hinzufügen, dass ich dieses Manifest selbst auf verschiedene Arten gesehen habe:
Die externe Skriptdatei erscheint überhaupt nicht im Skriptfenster.
Die externe Skriptdatei wird angezeigt, aber Firebug "sieht" sie nicht. Sie wissen, dass dies passiert ist, weil die Zeilennummern neben dem Code, an dem ein Breakpoint gesetzt werden kann, nicht hervorgehoben werden (früher grün, jetzt aber nur dunkler als andere Zeilen). Ich habe gesehen, dass dies mit Inline-Javascript auf einer HTML-Seite geschehen ist (Schrecken!).
Herunterfahren Firefox und dann neu starten. manchmal wird der Feuerwurm verwirrt. Stellen Sie außerdem sicher, dass Sie die neueste Version haben.
Ich bin mir nicht sicher, ob ein <script>
in% <head>
(im Gegensatz zu% in <body>
) wirklich legales HTML ist. Wenn es nicht ist, wie ich vermute, kann man Firebug nicht dafür belangen, dass man es nicht gut unterstützt ...! -)
Die Fehler in der Skriptverarbeitung, die ich kenne, sind: 1) jquery dynamisches Laden von Skripts schlägt fehl, 2) new Function () kann nicht gesehen werden, 3) einige Arten von document.write () können nicht gesehen werden.
Firebug verarbeitet Skriptdateien in Serie mit Firefox. Dies bedeutet, dass Firebug aktiv sein muss, wenn die Seite geladen wird, und dass jede Ausnahme im Pfad dazu führt, dass die Dateien falsch verarbeitet werden. Wenn Sie den Firebug vor dem Laden geöffnet haben und immer noch Probleme auftreten, dann ist die wahrscheinlichste Lösung, Firebug in einem neuen Firefox-Profil zu installieren. Dies führt dazu, dass Sie eine völlig neue Reihe von Standardoptionen erhalten und Firebug ohne andere Erweiterungen ausführen. Wenn Sie andere Erweiterungen erneut hinzufügen, suchen Sie nach Problemen beim Anzeigen von Skripts: dann werden Sie möglicherweise feststellen, welche Erweiterung den Codepfad für die Verarbeitung von Skripts beeinträchtigt. Ich weiß, das ist ein Schmerz im Nacken, aber auch JS-Debugging ohne Quelle ;-). Wir arbeiten daran, Tests mit mehr installierten Firebug- und Firefox-Erweiterungen durchzuführen, um diese Probleme zu reduzieren.
In unserem Fall war es die Bündelung von JS-Dateien.
Es ist nicht nur FireFox
, es ist dasselbe für Chrome
.
Wir haben die Datei aus dem Paket entfernt und auf die Seite gestellt, auf die verwiesen werden sollte, und sie hat wie ein Zauber funktioniert.
Tags und Links javascript debugging firebug embedding