• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

js debuggen?

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.730
Ort
in der Zukunft
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 ….
 

Rakorium-M

NGBler

Registriert
14 Juli 2013
Beiträge
413
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). [src=javascript]window.open = () => {throw 'Test';}[/src]
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.730
Ort
in der Zukunft
  • Thread Starter Thread Starter
  • #3
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.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
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.
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.730
Ort
in der Zukunft
  • Thread Starter Thread Starter
  • #5
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)
 
Oben