Patrick K.: contentWindow u. event-Objekt (Firefox)

Hallo!

Kann mir jemand vielleicht bei dieser Codezeile ein wenig helfen?
Im IE funktioniert es problemlos und ich bekomme die nötigen Koordinaten, Firefox hingegen spuckt mir einen Fehler aus.

alert(document.getElementById('ContentFrame').contentWindow.event.clientX);

(ContentFrame ist ein IFrame)

Was mache ich falsch? Bzw. welche Sonderbehandlung ist für den Firefox nötig?

(window.event.clientX klappt an dieser Stelle übrigens überhaupt nicht :( )

Viele Grüße
Patrick

  1. hi,

    Im IE funktioniert es problemlos und ich bekomme die nötigen Koordinaten, Firefox hingegen spuckt mir einen Fehler aus.

    Spuck zurück.

    (Mehr bleibt nicht zu tun, wenn du uns den Fehler nicht mitteilen magst.)

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Spuck zurück.

      Lieber nicht :)

      Hier noch die Fehlermeldung:
      "document.getElementById("ContentFrame").contentWindow.event has no properties"

      Gruß, Patrick

      1. Hmh, es gibt also nach Aussage von Firefox keinen Event. Was verleitet dich zu der Annahme, dass es für genau dieses Frame einen gäbe?

        MfG
        Rouven

        --
        -------------------
        Computer programming is tremendous fun. Like music, it is a skill that derives from an unknown blend of innate talent and constant practice. Like drawing, it can be shaped to a variety of ends: commercial, artistic, and pure entertainment. Programmers have a well-deserved reputation for working long hours but are rarely credited with being driven by creative fevers. Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination, but because their imagination reveals worlds that others cannot see. -- Larry OBrien and Bruce Eckel in Thinking in C#
        1. Was verleitet dich zu der Annahme, dass es für genau dieses Frame einen gäbe?

          Hallo Rouven!

          Die Tatsache, dass es im IE läuft (na ja, der akzeptiert ja so einiges...) und der Firefox auch in die EventTest-Funktion reinspringt. window.event war leider in der EventTest-Funktion nicht vorhanden, also kam ich nach langem Probieren auf contentWindow.event - und das funktioniert soweit bisher, aber leider nur im IE :(

          Hier noch etwas genauer:

          function EventTest(OEvent)
          {
              alert(document.getElementById('ContentFrame').contentWindow.event.clientX);
          }

          function init()
          {
              var OContentFrameWnd = document.getElementById('ContentFrame').contentWindow;
              OContentFrameWnd.document.oncontextmenu = function () { EventTest(OContentFrameWnd.event); return false; };

          }

          Mit der rechten Maustaste ins IFrame kommt beim IE die Meldung mit den richtigen Koordinaten, im Firefox wie gesagt leider nicht :(

          Viele Grüße,
          Patrick

          1. hi,

            window.event war leider in der EventTest-Funktion nicht vorhanden, also kam ich nach langem Probieren auf contentWindow.event

            Der Firefox kennt window.event nicht - dann anzunehmen, er würde stattdessen contentWindow.event kennen, ershceint mir recht abwegig.

            Mach's doch stattdessen so wie hier beschrieben:
            http://de.selfhtml.org/javascript/objekte/event.htm#allgemeines

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Der Firefox kennt window.event nicht - dann anzunehmen, er würde stattdessen contentWindow.event kennen, ershceint mir recht abwegig.

              Hallo wahsaga,

              Der Aufruf von window.event in der EventTest-Funktion hat im Firefox und im IE nicht funktioniert. Erst mit contentWindow war es mir möglich, z.B. den EventHandler oncontextmenu für das eingebettete IFrame zu setzen bzw. auch die Mausposition für die Events der IFrames auszulesen.

              Danke für den Link, hatte ich vorhin schon überflogen, da ich aber davon ausgehe, dass das Hauptproblem das IFrame darstellt, wird es mir höchst wahrscheinlich nicht weiterhelfen.
              Trotzdem danke :)

              Viele Grüße
              Patrick

              1. hi,

                Der Aufruf von window.event in der EventTest-Funktion hat im Firefox und im IE nicht funktioniert.

                Das könnte daran liegen, dass du ja nicht den Event im Hauptfenster, sondern in einem Iframe überwachen willst.

                Erst mit contentWindow war es mir möglich, z.B. den EventHandler oncontextmenu für das eingebettete IFrame zu setzen bzw. auch die Mausposition für die Events der IFrames auszulesen.

                Dann sprichst du also mit contentWindow offenbar zumindest für den IE schon mal die richtige Fensterinstanz an.

                Das ändert aber nichts daran, dass der FF window.event nicht kennt - egal unter welcher Fensterinstanz.

                Danke für den Link, hatte ich vorhin schon überflogen, da ich aber davon ausgehe, dass das Hauptproblem das IFrame darstellt, wird es mir höchst wahrscheinlich nicht weiterhelfen.

                Ich denke schon - was der FF statt window.event braucht, steht ja dort beschrieben.
                Wenn es auf diese Weise mit dem Iframe nicht geht - dann muss evtl. die Event-Überwachung "in" den Iframe hinein verlegt werden.

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
                1. Ich denke schon - was der FF statt window.event braucht, steht ja dort beschrieben.
                  Wenn es auf diese Weise mit dem Iframe nicht geht - dann muss evtl. die Event-Überwachung "in" den Iframe hinein verlegt werden.

                  Hallo wahsaga :)

                  Recht hast du :) Mir ist vorhin gar nicht aufgefallen, dass der Firefox das Event-Objekt der Funktion übergibt, hatte es scheinbar nur im IE ausprobiert und später gedacht, dass es auch im Firefox so ist. Blicke sowieso bald nicht mehr ganz durch, wo die Unterschiede liegen.

                  Hatte mich, als ich die Seite (link) überflogen hatte, auch gefragt, was hiermit erreicht werden sollte.

                  function TasteGedrueckt (Ereignis) {
                    if (!Ereignis)
                      Ereignis = window.event;
                  ...

                  Nun weiß ich wofür :)

                  Vielen Dank nochmal und viele Grüße