Ich arbeite an einer neuen Kunden-Website, die Javascript von einem CDN lädt, sodass das Javascript nicht in die Webseitenquelle eingebettet oder eingebettet ist. Ich möchte jedes Mal pausieren, wenn getCurrentPosition()
ausgeführt wird , um festzustellen, in welcher externen JS-Datei es enthalten ist.
Ich weiß, dass ich andere Tools verwenden könnte, um eine Suche nach Zeichenketten durch den Inhalt der JS-Dateien durchzuführen, aber ich möchte lieber die Debugging-Tools von Chrome verwenden.
Soll ich versuchen, einen Ausdruck für eine Uhr zu erstellen, oder gibt es eine andere Möglichkeit, festzulegen, wann und wo eine bestimmte JS-Funktion ausgelöst wird?
Sie können mit Chrome DevTools in allen Dateien suchen. Finden Sie Ihre Funktion und debuggen Sie sie:
ctrl + shift + f
(Win) oder cmd + option + f
(Mac) drücken.Suchen Sie im geöffneten Feld nach allen Dateien (JS, CSS, ...).
In der Box haben Sie 5 Möglichkeiten:
Geben Sie "@symbol" ein, um zu einem bestimmten Symbol zu gelangen ("@ TestSymbol" zum TestSymbol-Symbol).
Wenn Sie in dieser Option @JSFunctionName oder @CSSClassName schreiben, navigiert der Cursor Zu JSFunctionName oder CSSClassName.
Geben Sie "! Snippet" ein, um zu einem bestimmten Snippet zu gelangen ("! SnippetTest" zum SnippetTest-Snippet).
Um die Optionen 2-5 zu verwenden, wählen Sie eine Datei aus.
Alle Informationen, die Sie benötigen, finden Sie auf der Webseite: https://developer.chrome.com/devtools/docs/javascript-debugging
Einfach einlegen (kopiert von der Webseite)
Öffnen Sie eine Website wie die Google Closure-Hovercard-Demoseite oder das TodoMVC
Öffnen Sie eine Website wie die Google Closure-Hovercard-Demoseite oder die TodoMVC Angular-App
Öffnen Sie das DevTools-Fenster.
Wenn es nicht bereits ausgewählt ist, wählen Sie Quellen.
Debuggen mit Haltepunkten
Ein Haltepunkt ist ein absichtliches Anhalten oder Anhalten eines Skripts. Verwenden Sie Haltepunkte in DevTools, um JavaScript-Code, DOM-Updates und Netzwerkaufrufe zu debuggen.
Haltepunkte hinzufügen und entfernen Öffnen Sie im Quellenbedienfeld eine JavaScript-Datei zum Debuggen. In dem Beispiel unten debuggen wir die todoCtrl.js-Datei von der AngularJS-Version von TodoMVC.
Klicken Sie auf die Zeile Gutter, um einen Haltepunkt für diese Codezeile festzulegen. Ein blauer Tag zeigt an, ob ein Haltepunkt gesetzt wurde:
Mit dem obigen einfachen Beispiel können Sie die Funktion getCurrentPosition()
tatsächlich "stoppen" und debuggen.
Eine Möglichkeit wäre, die Geolocation.getCurrentPosition
-Methode durch eine Wrapper-Funktion zu ersetzen, damit Sie einen Haltepunkt darin setzen und dann den Stack untersuchen können, um herauszufinden, wer ihn aufruft.
Wenn Sie wissen, wo im Code die Methode aufgerufen wird, können Sie Haltepunkte setzen . Dadurch wird die Ausführung von Javascript zur Laufzeit angehalten und Sie erhalten eine Stack-Ablaufverfolgung.