Ergebnis 1 bis 5 von 5

Thema: js debuggen?

  1. #1
    Zeitreisender

    Administrator

    Avatar von drfuture
    Registriert seit
    Jul 2013
    Ort
    in der Zukunft
    Beiträge
    5.633
    ngb:news Artikel
    16

    js debuggen?

    Da ich mit js im Prinzip nicht ganz so viel am Hut habe:

    Wie Debugge ich Javascript auf einer Webseite?

    Im Speziellen habe ich aktuell das "Problem" das ein durchaus umfangreiches Portal mit mehreren 100KB JS-Code aus zig Frameworks (Der Code ist auch noch schön "optimiert" in der Dateigröße) ab und an ein Popup erzeugt das mich stört.

    Ich würde nun gerne die Funktion / das Event finden das dieses Popup erzeugt.

    Mit den normalen Möglichkeiten im Browser kann ich meines Wissens nur bei Fehlern anhalten - bzw. bei "jedem" Ereignis halten was dann jede Mausbewegung ist.

    Gibt es eine Möglichkeit alle Funktionsaufrufe zwischen zwei Zeitpunkten zu protokollieren in einer Art Gant-Diagramm um darüber einen Überblick zu bekommen?

    Andere Ideen?

    Ich könnte natürlich den gesamten DOM überwachen und bei einer Änderung nach dem mir bekannten Popup innerhalb aller Elemente suchen, wenn gefunden dieses Element wieder aus dem Code löschen.
    Nur das möchte ich nicht jede Sekunde triggern - dann wird das ganze nicht mehr benutzbar. Ich würde mich dann nach Möglichkeit an den Auslöser des Popups anhängen ….
    |_|D *`~{ Ich kenne deine Zukunft }~´* |_|D

  2. #2
    Mitglied
    Registriert seit
    Jul 2013
    Beiträge
    295
    ngb:news Artikel
    1

    Re: js debuggen?

    Mit JS-Debuggern hab ich nie ernsthaft gearbeitet, aber man könnte ausnutzen, dass in JS alles ein Objekt ist. Du könntest versuchen, in der JS-Konsole die Popup-Funktionen zu überschreiben, und in der Überschreibung einen Fehler auszulösen, den du dann im Debugger fangen kannst (inkl. Stacktrace).
    Code (JavaScript):
    1. window.open = () => {throw 'Test';}

  3. #3
    Zeitreisender

    Administrator

    (Threadstarter)

    Avatar von drfuture
    Registriert seit
    Jul 2013
    Ort
    in der Zukunft
    Beiträge
    5.633
    ngb:news Artikel
    16

    Re: js debuggen?

    Danke, merke gerade das ich mich etwas blöd ausgedrückt habe. Kein popup im eigentlichen Sinne sondern ein paar divs auf der Seite. Ein modales Dialog Fenster ist glaube ich die bessere Bezeichnung.
    |_|D *`~{ Ich kenne deine Zukunft }~´* |_|D

  4. #4

    Re: js debuggen?

    Servus!

    Wie ist denn der Link zu der Seite die du debuggen willst?

    Grundsätzlich weiß ich nur, das man Funktionen nicht "überschreiben" kann, bzw. den removeEventListener('event', funktionsname) nutzen muß um Events sauber zu auszulöschen. Wenn die Funktion anonym ist, aber mit AddEventListener gebunden ist, wirds doppelt schwer (wenn nicht gleich fast unmöglich) da man Event und speziell anonyme Funktionen nicht ohne weiteres entfernen kann.

    Der Funktionsaufruf muß bekannt sein. Es gibt keine saubere Möglichkeit einen Event "zu überschreiben" - da auch vermutlich der Funktionsaufruf "out of scope" ist.

    Man kann sich auch an alle "Events" dranhängen und schauen was wo triggert. Aber am einfachsten wäre es mit dem Debugger/Dev Tools - nach der Klasse des Popupcontainers zu suchen, und zu versuchen diesen Event beim Aufruf eine "Cleanup" Routine laufen zu lassen und oder den Event zu canceln, defaultPrevent oder ähnliches.
    Gruß theSplit
    @ I might be sober. The good things... the bad things... all I ever know is here! @ The past; yesterday, the present; here and now; the future; to be shaped. @
    +++ Pi-Thread +++ IT-Talents Code Competitions +++ NGB-Statistik Opt-Out/Anonymisierung +++ Stonerhead +++ Add-on Flag Cookies +++ Google Image Directlinks +++ dwrox.net

  5. #5
    Zeitreisender

    Administrator

    (Threadstarter)

    Avatar von drfuture
    Registriert seit
    Jul 2013
    Ort
    in der Zukunft
    Beiträge
    5.633
    ngb:news Artikel
    16

    Re: js debuggen?

    Ist leider nicht über das Internet erreichbar....
    Ich muss auch nicht zwingend das Event überschreiben, Saft kann ich ein Event nicht als trigger für einen Aufruf verwenden?
    Bei einem inhaltswechsel ist das eine Art *wollen sie die Session speichern* Dialog.

    Hmm da fällt mir auf ich könnte es versuchen immer bei *in click* nach dem div zu suchen und dann zu löschen... Je nachdem wie lange diese suche dauert... Man sollte es nicht merken / das System ausbremsen. Ist eine Mischung aus Shop und antragswesen das heißt man kann damit auch komplexe Artikel bestellen die als Eigenschaften dynamisch befüllte Felder haben sowie dynamische Genehmigungsverfahren je nachdem wer welche Eigenschaften wählt. Daher ist der Umgang des html Codes leider auch größer (Details müsste ich Montag mal schauen)
    |_|D *`~{ Ich kenne deine Zukunft }~´* |_|D

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •