Lassen Sie uns zuerst mit dem ersten Problem umgehen: 1. Überprüfen Sie den von dieser Funktion empfohlenen Funktionsquellencode unter dem Artikel
Es ist eigentlich sehr einfach. Klicken Sie einfach auf das Lupenglas, um die Empfehlung auszuwählen.
Dieser VoTePost (CB_entryid, 'Digg') ist die Funktion, die von der empfohlenen Taste aufgerufen wird. Ist es nicht sehr einfach?
Das zweite Problem besteht darin, den Dateiort zu finden, an dem sich die Funktion befindet.
Tatsächlich ist es auch sehr einfach. Natürlich wissen Freunde, die mit der Konsole nicht vertraut sind, möglicherweise nicht, wie sie sie lesen sollen.
Ich tippe VoTepost in die Konsole und drücke die Eingabetaste,
Der Funktionsquellcode wird grob angezeigt, und es gibt einen Link-Blog-common.js?
Das nachfolgende v = we8o1xrgctu07qvwyqerqd7aa8fdjp_dgoe-crat3k1 wird direkt ignoriert.
PS: Wenn Sie wissen möchten, was das ist, ist es tatsächlich eine Versionsnummer. Was das, was es tut, ist oft, um das Rücken zu verhindern. Bitte suchen Sie online nach Details.
Blog-common.js: 1 bedeutet dies fast. .
Blog-common.js ist die JS-Datei, in der sich diese Funktion befindet
1 ist die Zeilennummer, in der sich der Code befindet.
Klicken Sie direkt auf diesen Link, um zum Quellenbereich zu springen. Dies ist das Quellfeld, die wichtigste Funktion des Debuggens, und wird später langsam eingeführt.
Aber der gesamte Code ist in einer Zeile, wie sehen wir ihn an? Die 4946 Zeichen sind in einer Zeile reduziert. .
Chrome bietet uns eine Code -Formatierungsfunktion. Klicken Sie auf die Schaltfläche Print Print unten, um den Code zu formatieren.
Nach Abschluss der Formatierung wird es sehr schön sein. Ob Sie es verstehen können oder nicht, ist das eine andere Angelegenheit.
Einige Leute können es nicht verstehen, vielleicht wurde der Code von Tools wie Uglifyjs, Googles Schließung usw. zusammengestellt, wie z. B. jQuery.min.js -Datei.
Es kann auch sein, dass Ihr Level zu niedrig ist und Sie den vom Meister vorerst geschriebenen Code nicht verstehen können, also kann ich nichts dagegen tun. Sie können nur hart arbeiten, um Ihre Stärke zu verbessern.
Wenn die Formatierung ausreicht, mach dir keine Sorgen, wenn ich hier bin, warum bist du dann in Panik?
Gehen Sie gerade jetzt zum Konsolenpanel zurück.
Sie freuen sich, dass blog-common.js? V = we8o1xrgctu07qvwyqerqd7aa8fdjp_dgoe-crat3k1: 91: 91
Die Zeilennummer ist zu 91 geworden. Klicken Sie nun auf diesen Link und Sie können zur entsprechenden formatierten Position springen. Ist es nicht super bequem? .
Die letzte Frage ist, die Funktion zu ändern, um sie ungültig zu machen. Dies ist das einfachste, viel einfacher als der gerade, aber viele Menschen können es nicht bedienen, also habe ich es speziell herausgenommen und darüber gesprochen.
Zunächst wissen wir, dass die Funktion, die empfohlen wird, diese Funktion aufzurufen, VoTePost (CB_Enterryid, 'Digg') ist und direkt und gebunden an HTML geschrieben und gebunden ist.
Diese Funktion ist also eine globale Funktion, die überall aufgerufen werden kann. Was bedeutet das also?
Es bedeutet, dass wir es ändern können, es ist wie eine globale Variable, Sie können es überall ändern, oder? Dann sollte die globale Funktion korrekt sein.
So können wir es einfach an eine leere Funktion ändern.
Votepost = function () {}; oder VoTepost = $ .noop; $ .Noop ist eine leere Funktion von JQuery, damit wir für uns bequem sind.
Jetzt ist VoTePost eine leere Funktion, daher wird nichts passieren, wenn Sie auf die Empfehlungsschaltfläche klicken.
Natürlich wird es nach dem Erfrischen der Seite erneut wirksam. Wir debuggen und ändern es einfach auf der Seite. Es ist für uns unmöglich, dauerhaft in Kraft zu treten, ohne den Quellcode des Blogparks zu ändern.
Debuggen bedeutet also den Prozess des Auffindens und Beseitigung von Fehlern. Wenn sich die Fehlerquelle befindet, ändern Sie sie und testen Sie sie dann. Wenn es falsch ist, aktualisieren Sie es und ändern Sie es erneut, damit die tatsächliche Datei nicht ändern muss, was sie nicht wiedererlangt macht.
Der heutige Inhalt ist fast all das. Tatsächlich gibt es nur wenige direkte globale Funktionen, die Sie debuggen können, da JQuery jetzt populär ist und verschiedene Ereignisbindungen wie Click und On Quellcode -Positionierung sehr kompliziert machen.
Glücklicherweise habe ich zuvor einen Artikel geschrieben und dieses Problem ausführlicher analysiert. Weitere Informationen finden Sie unter "Eine kurze Diskussion über die Probleme mit der Positionierung von Quellcode von JQuery -Ereignissen".
Ich bin mit anderen Frameworks nicht vertraut, daher habe ich sie nicht analysiert, aber die Ideen sind tatsächlich ähnlich, und es muss einen Ereignismanagementmechanismus geben.
Ich habe heute nicht viel Wissen, aber ich muss es selbst konsolidieren, sonst werde ich es in Sekunden vergessen.
Nachklassenübungen:
1. Analysieren Sie, wie die VoTePost -Funktion die empfohlene implementiert.
2. Dynamisches Debuggen und Analyse von VoTepost. (Breakpoint -Wissen zu kombinieren)
Ich werde morgen über Haltepunkte und dynamisches Debuggen sprechen. Ich habe keine geeignete Frage gefunden, also werde ich es zuerst tun. Wenn Sie etwas Geeignetes haben, das dynamisches Debuggen benötigt, antworten Sie bitte. .