contentWindow u. event-Objekt (Firefox)
Patrick K.
- javascript
0 wahsaga0 Patrick K.0 Rouven0 Patrick K.0 wahsaga0 Patrick K.0 wahsaga
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
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
Spuck zurück.
Lieber nicht :)
Hier noch die Fehlermeldung:
"document.getElementById("ContentFrame").contentWindow.event has no properties"
Gruß, Patrick
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
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
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
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
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
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