dedlfix: 1 Grund "unobtrusive" nicht zu mögen-Wie finde ich den Event-H.?

Tach!

Da hab ich grad das Problem zugetragen bekommen, dass in der Test-Version des neuen Selfhtml-Wikis die Beobachten-Funktion (für angemeldete Nutzer) nicht geht. Da werkelt irgendein Javascript nicht richtig, denn wenn man den Link des a-Elements direkt besucht, geht das. Dank Unobtrusiveness ist jedoch dem a-Element nicht anzusehen, welcher Javascript-Code beim Klicken ausgeführt wird. Und Javascript-Code ist eine ganze Menge im Mediawiki verbaut. Ich hab doch nicht die Zeit, die Nadel im Heuhaufen zu suchen. Die Fehlerkonsole bleibt ruhig. Der Firebug zeigt zwar viele DOM-Eigenschaften, aber keine Event-Handler an. Wie finde ich nun den Code, der beim Klicken (oder anderen Events) dieses(/eines) Elements ausgeführt wird?

dedlfix.

  1. Hi,

    Der Firebug zeigt zwar viele DOM-Eigenschaften, aber keine Event-Handler an.

    Operas Dragonfly bspw. zeigt Eventhandler an.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Tach!

      Der Firebug zeigt zwar viele DOM-Eigenschaften, aber keine Event-Handler an.

      Zumindest hab ich nicht gefunden, ob/wo man das einschalten kann. Gibt es da was?

      Operas Dragonfly bspw. zeigt Eventhandler an.

      Schon nicht schlecht, nur der Browser ist nicht der richtige :-).

      Prinzipbedingt schickt mich das leider an die "falsche" Stelle, aber das würde in dem Fall überall passieren. Die Browser sind da unschuldig. Da sitzt nämlich noch ein Stückchen jQuery dazwischen, das da als Event-Dispatcher arbeitet. Das will ich natürlich nicht debuggen sondern den "eigentlichen" Handler. Das ist aber nichts, was man nicht mit ein paar "Step over" und "Step into" gelöst bekommt.

      Das wäre jedenfalls schon eine Möglichkeit, wenn es das auch noch für Firefox/-bug gibt ...
      Im Chrome hab ich es nun auch gefunden, da versteckt es sich bei "Inspect Element" auf der rechten Seite (bei Computed Style, Styles, etc.) recht weit unten.

      dedlfix.

      1. Om nah hoo pez nyeetz, dedlfix!

        Der Firebug zeigt zwar viele DOM-Eigenschaften, aber keine Event-Handler an.
        Zumindest hab ich nicht gefunden, ob/wo man das einschalten kann. Gibt es da was?

        Da gibts eine Erweiterung: https://getfirebug.com/wiki/index.php/Firebug_Extensions#Eventbug --> https://getfirebug.com/releases/eventbug/1.5/

        Matthias

        --
        Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Nut und Nutte.

  2. Hallo,

    evtl. hilft Dir Visual Event weiter (gefunden via Stack Overflow).

    Gruss,
    Worf

    1. Tach!

      evtl. hilft Dir Visual Event weiter (gefunden via Stack Overflow).

      Das sieht ganz nett aus und kennt sich auch mit den Gegebenheiten (zumindest) von jQuery aus. Damit kann es den internen jQuery-Dispatcher übergehen und die eigentlich gesuchten Code anzeigen. Aber leider auch nur das. An die Stelle, wo sich der Code befindet, geleitet es einen nicht. Dazu müste es die Debugger in den Browsern kennen und das wäre für ein Bookmarklet dann doch etwas zu viel des Guten. Immerhin kann man nun versuchen, ein paar relevante Bezeichner oder dergleichen in dem gezeigten Code zu finden und dann die Suchfunktion des Debuggers damit füttern.

      Das eigentliche Problem mit der Beobachten-Funktion hab ich jedoch anderweitig gefunden. Die "Live HTTP Headers"-Extension vom FF hat mir gezeigt, dass für den Mediawiki-API-Aufruf ein Token fehlt. Das ist zwar im Browser vorhanden, wird aber nicht in den Request eingebaut, wenn vom ResourceLoader das Debugging ($wgResourceLoaderDebug) eingeschaltet wird. Das braucht man aber, wenn man am CSS werkelt, damit der Bezug von der zu bearbeitender Datei zu dem was im Browser ankommt nicht verloren geht (in eine große Ressourcen-Suppe gepackt wird). Jedenfalls wird das dann im Produktivbetrieb deaktiviert sein und Beobachten wird gehen, auch wenn das Mediawiki hier einen Bug versteckt hat.

      dedlfix.