Michael Kaul: location.href - Fehler bei MSIE 5.0

Folgendes script läuft bei IE 5.0 nicht, d.h. es wird nicht zur gewünschten Seite (index_ie.htm) gewechselt. Bei IE 5.5 soll es gehen, bei Netscape sowieso.

function weiter (){
var name = navigator.appName
   if (name == "Microsoft Internet Explorer")
   {
      window.location.href="index_ie.htm";
   }
    else
   {
      window.location.href="index_nn.htm";
   }
}

  1. function weiter (){
    var name = navigator.appName
       if (name == "Microsoft Internet Explorer")
       {
          window.location.href="index_ie.htm";
       }
        else
       {
          window.location.href="index_nn.htm";
       }
    }

    Wo meldet er denn den Scriptfehler? (Welche Zeile... :o)

    1. hi,

      Wo meldet er denn den Scriptfehler? (Welche Zeile... :o)

      warum sollte er da einen Fehler melden?
      Beim IE5 liefert navigator.appName liefert lediglich einen String zurueck,
      der nicht genau passt. Dafuer gibts toLowerCase() und indexOf()

      Gruss  Joachim

    2. also ich habe schon etwas Analyse betrieben:
      function weiter (){
      var name = navigator.appName
      alert(name);
         if (name == "Microsoft Internet Explorer")
         {
       alert("IE erkannt");
            window.location.href="index_ie.htm";
         }
          else
         {
       alert("anderer Browser");
            window.location.href="index_nn.htm";
         }
      }

      Der MSIE geht in seine if-Schleife rein ("IE erkannt") verzweigt aber nicht.
      Netscape geht in den else-Zweig ("anderer Browser") und verzweigt.

      function weiter (){
      var name = navigator.appName
         if (name == "Microsoft Internet Explorer")
         {
            window.location.href="index_ie.htm";
         }
          else
         {
            window.location.href="index_nn.htm";
         }
      }

      Wo meldet er denn den Scriptfehler? (Welche Zeile... :o)

  2. Tag

    var name = navigator.appName
       if (name == "Microsoft Internet Explorer")

    Bist Du sicher, daß der IE5 exakt diesen String zurück gibt ??? Vielleicht hängt er noch was hinten dran oder so.
    Laß Dir einfach mal den echten Namen ausgeben mit

    alert(navigator.appName);

    Vielleicht liegt ja da der Hund begraben.

    Ciao,

    Harry

  3. hi,

    Dein Script funktioniert mit NN nur, weil NN im else-Zweig liegt, Deine
    Browserabfrage ist unvollstaendig. Btw: Gibts bei Dir nur zwei Browser?

    Wenn schon so, dann lieber so:

    if(document.all)
    {
      //alle die document.all koennen...
    }
    else
    {
      // der Rest der Welt...
    }

    hth + Gruss  Joachim