location.href - Fehler bei MSIE 5.0
Michael Kaul
- javascript
0 MeMyselfAndEi0 Joachim0 Michael_Kaul
0 Harry0 Joachim
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";
}
}
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)
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
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)
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
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