Hallo!
Ich habe versucht, meine Web-Site dazu zu bringen, in Opera zu funktionieren.
Mir ist es gelungen, das Problem zu identifizieren, aber wie ich es jetzt lösen soll, ist mir schleierhaft.
Folgendes: Eine Seite in einem Frameset (ja, es muss.) soll onload eine Initialisierungsfunktion ausführen. Das funktioniert in Firefox und Safari (
window.onload=init
und <body onload="init()">
)
. Im Opera funktioniert es nur, wenn ich die Seite außerhalb des Framesets lade, oder aber (entgegen der Empfehlungen, die ich fand) Klammern hinter die Funktion setze:
window.onload=init()
Das bringt nun aber merkwürdigerweise mit sich, dass (weder in FF noch in Opera) irgendwelche Dokumenteigenschaften gelesen werden können. Der Fehler der auftritt, sobald die Funktion versucht etwas auf der document.-Ebene zu ändern, tritt nicht auf, wenn ich die Klammern weglasse. alert() und andere Sachen, die nicht auf document./Unter-Ebene stattfinden, funktionieren.
Ich begreife das nicht. Kann jemand mit etwas mehr Erfahrung mir das Verhalten erklären? Ich bin auch hierauf nur in 4-stündiger trial and error-Herangehensweise gekommen und finde auch keine vernünftige Seite zur Opera-Auslegung von JS (die Ausnahmen, auf die ich bisher gestoßen bin, sind nicht in selfHTML dokumentiert).
Vielen Dank,
Ruben