Christine Kuehnel: JavaScript1.1/1.2/...-Aufrufe in Event-Handlern

Beitrag lesen

Hallo Ihr,

Gibt es dann eine Fehlermeldung und wenn ja, wie verhindere ich die?
Ich habe es jetzt nicht ausprobiert, aber eigentlich sollte es eine Fehlermeldung geben, dass die aufgerufene Funktion nicht existiert.

Genau das passiert auch. Script-Block unter Versionsangabe 1.2 wird vom Browser total ignoriert, fuer diesen Tag ist er blind, also kennt er die Funktion nicht.

Verhindern kannst Du das zum Beispiel dadurch, dass Du den JavaScript-Bereich ohne Versionsnummer auszeichnest und stattdessen innerhalb der Funktion durch Browser-Abfragen oder Abfragen danach, ob ein Objekt existiert, Code kontrolliert ausfuehrst.

Ja, das ist eine Methode, in den meisten Faellen auch die beste.
Nur der Vollstaendigkeit halber noch eine zweite.
Das ginge auch:
   <script language="JavaScript">
   function mach_was()
   {}
  </script>
  <script language="JavaScript1.2">
  function mach_was()
  {
  // und die macht tatsaechlich was
  }
  </script>
Reihenfolge einhalten.
Browser, die kein JS1.2 kennen, arbeiten damit die erste Funktion ab, in der nichts passiert. Die andere sehen sie gar nicht.
Die anderen "vergessen" die erste Funktion, wenn sie auf die zweite mit demselben Namen treffen, benutzen bei Aufruf diese.

<script language="JavaScript1.2"> macht nur Sinn, wenn man verhindern will, das aeltere Browser von dem Script ueberhaupt etwas mitkriegen.

Ja.
Zusaetzlich kann man sich das, was ich oben geschrieben habe, zunutze machen, wenn man vielleicht bei aelteren und neueren Browser etwas tun will, aber eben was verschiedenes.

Noch ein kleiner Hinweis, dann hoere ich auf :-)
Es existieren so ein paar Browser-Exoten-Versionen, die haben Probleme mit der Versionsangabe, arbeiten die Scripts unter 1.1 bzw. 1.2 ab, obwohl sie "keine Ahnung" davon haben. Ein Teil  von MSIE3.02 ist da bzgl. 1.1 unangenehm aufgefallen.

Christine