Calocybe: Gleiches 2.tes Fenster, anderer Inhalt.

Beitrag lesen

Hi!

window.focus() gibt es uebrigens erst seit JavaScript1.2, also nicht wundern, wenn aeltere Browser Fehler bringen.

Kann man vorher abfragen, also innerhalb des Scriptes, ob der Browser des Surfers JS 1.2 beherrscht? Dann könnte man ggf. dieses Statment übergehen.

Klar doch. Gib als LANGUAGE-Attribut im <SCRIPT>-Tag nicht "JavaScript" an, sondern "JavaScript1.2". Einige Browser fuehren aber ohne Gnade auch diesen JS-Code fuer hoehere Versionen aus, obwohl sie diese Version gar nicht beherrschen.

Es gibt hier eine bessere Loesung, naemlich abzufragen, ob es die focus()-Methode gibt. Das geht, indem man focus ohne Klammern hinschreibt. Dadurch wird die Funktion nicht aufgerufen, sondern nur ein Wahrheitswert erzeugt, der angibt, ob die Methode existiert. Kurzum:
    if (window.focus) fernbedienung.focus();
Existiert focus nicht, wird der if-Zweig nicht ausgefuehrt.

Leider ist auch diese Methode nicht 100% sicher. Mit dem IE4 hatte ich auf diese Weise schon mal eine sinnlose Fehlermeldung produziert. (Aber der kann ja sowieso nicht richtig JavaScript... *huhu Patrick lol*)  Trotzdem ist dieser Weg nach meiner Einschaetzung weitaus verlaesslicher als JavaScript1.2 anzugeben.

Calocybe