Matthias Kleinekathoefer: Javascript-Error

Mahlzeit aus Hamburg!

Ich habe fuer ein Menue eine Browser-Abfrage geschrieben. Beim Internet-Explorer 3 kommt folgende Fehlermeldung: "Microsoft JScript runtime error. Objekt unterstuetzt diese Eigenschaft nicht."! Was habe ich falsch gemacht? Wie kann ich es bewerkstelligen, dass dieses Script auf allen Browsern laueft? Vielen Dank fuer Eure Hilfe.

Matthias Kleinekathoefer

Hier das Script:

<script LANGUAGE="Javascript">
<!--
{
NSalt=0, NSneu=0, MSIEalt=0, MSIEneu=0, javx=0;
if(navigator.appName == "Netscape")
  {
   if(eval(navigator.appVersion.substring(0,1)) < 4)
      NSalt = 1;
   else
      NSneu = 1;
  }
if(navigator.appName == "Microsoft Internet Explorer")
  {
   if(eval(navigator.appVersion.substring(0,1)) < 4)
      MSIEalt = 1;
   else
      MSIEneu = 1;
  }
   if(MSIEalt==1)
  {
   javx=1;
  }
}
           app = navigator.appName;
        ver = navigator.appVersion;
        mac = ver.indexOf("Macintosh") > 0;
        win = ver.indexOf("Win") > 0;
        vnum = parseFloat(ver);
     mouseOverOk = (((app == "Netscape") && (vnum >= 3 )) ||
            ((mac) && (app == "Microsoft Internet Explorer") && (vnum >= 3.01 )) ||
            ((win) && (app == "Microsoft Internet Explorer") && (vnum >= 4 )))
    if (javx<1)  
        if(navigator.javaEnabled())
       if (mouseOverOk)
              {
   navbar1on = new Image();
   navbar1on.src = "buttons/startseite2.gif";
   navbar1off = new Image();
   navbar1off.src = "buttons/startseite1.gif";
    }
function turnOn(imageName) {
  if (document.images) {
    document[imageName].src = eval(imageName + "on.src");
  }
}
function turnOff(imageName) {
  if (document.images) {
    document[imageName].src = eval(imageName + "off.src");
  }
}
// -->
</script>

  1. Ich habe fuer ein Menue eine Browser-Abfrage geschrieben. Beim Internet-Explorer 3 kommt folgende Fehlermeldung: "Microsoft JScript runtime error. Objekt unterstuetzt diese Eigenschaft nicht."! Was habe ich falsch gemacht? Wie kann ich es bewerkstelligen, dass dieses Script auf allen Browsern laueft? Vielen Dank fuer Eure Hilfe.

    Es sieht so aus, als koenne das was du willst der MSIE3 nicht, was kein Wunder ist, da er mit JavaScript noch nicht viel am Hut hat wie Netscape3 z.B.
    Allerdings waeree es auch hilfreich, wenn du angibst in welcher Zeile der MSIE3 meckert. Dann koennte ich eine genauere Antwort geben

    1. Es sieht so aus, als koenne das was du willst der MSIE3 nicht, was kein Wunder ist, da er mit JavaScript noch nicht viel am Hut hat wie Netscape3 z.B.
      Allerdings waeree es auch hilfreich, wenn du angibst in welcher Zeile der MSIE3 meckert. Dann koennte ich eine genauere Antwort geben

      Hallo Thomas,

      das nenne ich schnelle Antwort. Folgende Zeile ist vom Fehler betroffen:
      if(navigator.javaEnabled())

      Ich moechte eigentlich nur erreichen, dass die Bilder nicht vorgeladen werden, wenn der Brower kein Java kann, oder es ausgeschaltet ist.

      Bis dann,
      Matthias

      1. Hallo Matthias,

        Ich moechte eigentlich nur erreichen, dass die Bilder nicht vorgeladen werden, wenn der Brower kein Java kann, oder es ausgeschaltet ist.

        Dafuer braucht's kein Java, nur JavaScript. Die Abfrage kannst Du dir also schenken.

        viele Gruesse
          Stefan Muenz

        1. Ich moechte eigentlich nur erreichen, dass die Bilder nicht vorgeladen werden, wenn der Brower kein Java kann, oder es ausgeschaltet ist.
          Dafuer braucht's kein Java, nur JavaScript. Die Abfrage kannst Du dir also schenken.

          Stimmt.
          Das, was man pruefen muss, ist lediglich, ob der Browser das Image-Objekt kennt.
          Und das geht ganz einfach mit
             if (document.images)
          Bisschen verwunderlich fuer mich, Dein Code.
          In den Funtktionen tust Du genau das. beim Definieren der Objekte machst Du diese Klimmzuege mit der Browserabfrage. Warum?
          So geht's doch auch:
             if (document.images)
             {
                navbar1on = new Image();
                navbar1on.src = "buttons/startseite2.gif";
                navbar1off = new Image();
                navbar1off.src = "buttons/startseite1.gif";
              }

          Christine

      2. das nenne ich schnelle Antwort. Folgende Zeile ist vom Fehler betroffen:
        if(navigator.javaEnabled())

        Tja, da haben wir es ja schon. Die Methode navigator.javaEnabled() kennt der MSIE leider erst ab Verion 4. Eine andere Loesung fuer dein Problem faellt mir allerdings spontan auch nicht ein.