Browserweiche: Weiterleitung nach Typ + Version

Hallo ihrs,

ich habe im Netz ein (wie ich finde) recht gutes Script für eine Browserweiche gefunden. Hintergrund ist, dass mein neues Projekt keinen NS 4.x mehr verträgt und ich einen Besucher mit NS 4.x abfangen möchte und Ihn um ein update auf einen neuen Browser bitten möchte.

Klappt auch alles hervorragend mit den Microsoft und auch Opera Browsern und die Versionen werden auch richtig erkannt, aber wie ist es mit Browsern wie Mozilla, Crazybrowser, Conqueror (Linux), Irgendwelche AOL Sachen etc.

Hat jemand Erfahrung wie ich das Script erweitern müsste damit es komplett wird oder deckt das Script bereits jetzt schon alles ab?

Testen kann man die Weiche hier: http://www.haarformer.com

Das Script erlaubt im Beispiel:
IE >= 5.0
NS >= 6.0
Opera >= 6.0

Vielen Dank für die Hilfe.
Gruß
Achim

Hier isses nun:

var useragent = navigator.userAgent;
var bName = (useragent.indexOf('Opera') \> -1) ? 'Opera' : navigator.appName;
var pos = useragent.indexOf('MSIE');
if (pos \> -1) 
{
bVer = useragent.substring(pos + 5);
var pos = bVer.indexOf(';');
var bVer = bVer.substring(0,pos);
}
var pos = useragent.indexOf('Opera');
if (pos \> -1) 
{
bVer = useragent.substring(pos + 6);
var pos = bVer.indexOf(' ');
var bVer = bVer.substring(0, pos);
}
if (bName == "Netscape") 
{
var bVer = useragent.substring(8);
var pos = bVer.indexOf(' ');
var bVer = bVer.substring(0, pos);
}
if (bName == "Netscape" && parseInt(navigator.appVersion) \>= 5) 
{
var pos = useragent.lastIndexOf('/');
var bVer = useragent.substring(pos + 1);
}











// IE 3 Weiterleitung
if(bName=="Microsoft Internet Explorer"&&bVer \>="3.0" &&bVer \<"4.0")
{
location="alterbrowser.html"; 
}

// IE 4 Weiterleitung
if(bName=="Microsoft Internet Explorer"&&bVer \<"5.5" &&bVer \>="4.0")
{
location="alterbrowser.html"; 
}

// IE 5 Weiterleitung
if(bName=="Microsoft Internet Explorer"&&bVer \<"5.5" &&bVer \>"4.5")
{
location="content/start.html"; 
}

// IE 5.5 Weiterleitung
if(bName=="Microsoft Internet Explorer"&&bVer =="5.5")
{
location="content/start.html"; 
}

// IE 6 Weiterleitung
if(bName=="Microsoft Internet Explorer"&&bVer \>"5.5")
{
location="content/start.html"; 
}

// Opera 3 Weiterleitung
if(bName=="Opera"&&bVer \>="3.0" && bVer \< "4.0")
{
location="alterbrowser.html"; 
}

// Opera 4 Weiterleitung
if(bName=="Opera"&&bVer\>="4.0" &&bVer \< "5.0")
{
location="alterbrowser.html"; 
}

// Opera 5 Weiterleitung
if(bName=="Opera"&&bVer\>="5.0" &&bVer \< "6.0")
{
location="alterbrowser.html"; 
}

// Opera 6 Weiterleitung
if(bName=="Opera"&&bVer\>="6.0" &&bVer \< "7.0")
{
location="content/start.html"; 
}

// Opera 7 Weiterleitung
if(bName=="Opera"&&bVer\>="7.0" &&bVer \< "8.0")
{
location="content/start.html"; 
}

// Netscape 4.x Weiterleitung
if(bName=="Netscape"&&bVer \>="4.0" &&bVer \< "5.0")
{
location="alterbrowser.html"; 
}

// Netscape 6 Weiterleitung
if(bName=="Netscape"&&bVer \>="6.0" &&bVer \< "7.0")
{
location="content/start.html"; 
}

// Netscape 7 Weiterleitung
if(bName=="Netscape"&&bVer \>="7.0" &&bVer \< "8.0")
{
location="content/start.html"; 
}

//--\>

ich habe im Netz ein (wie ich finde) recht gutes Script für
eine Browserweiche gefunden. Hintergrund ist, dass mein neues
Projekt keinen NS 4.x mehr verträgt und ich einen Besucher mit
NS 4.x abfangen möchte und Ihn um ein update auf einen neuen
Browser bitten möchte.

Klappt auch alles hervorragend mit den Microsoft und auch
Opera Browsern und die Versionen werden auch richtig erkannt,
aber wie ist es mit Browsern wie Mozilla, Crazybrowser,
Conqueror (Linux), Irgendwelche AOL Sachen etc.

das was du machst ist m.e. ziemlich fuer die katz. was willst du erreichen? lt. oben willst du nn4 ausfiltern. das geht so:

if (document.layers) { self.location.href="ichbineinnn4.html"; }

du willst den lynx ausfiltern? der kann kein js. also musst du alle rauswerden, die kein js koennen:

if (document.layers) { self.location.href="ichbineinnn4.html"; }
else { self.location.href="wir duerfen rein.html"; }

wozu brauchst du die information ob du einen konquerer 0.9.5 oder 0.9.6Beta build97,4 vor dir hast?

Hallo Dog,

erstmal vielen Dank, dass Du Dich meiner angenommen hast :wink:

Also - meine Seite sieht auf einem NS4 einfach beschissen aus und hat eine eingeschränkte Funktionalität da ich z.B. IFrames verwenden möchte, die der NS4 ja nicht unterstützt. Daher möchte ich einen NS4 Benutzer beim Aufruf der Startseite auf seinen veralteten Browser hinweisen (so wie hier bei wer-weiss-was.de) und ihm empfehlen, einen moderneren Browser zu verwenden.

Mit Javascript hat das nichts zu tun. Ein Test ob JavaScript aktiviert ist habe ich der Browserweiche vorgeschaltet. Wenn ein Besucher mit abgeschaltetem Javascript auf die Browserweiche träfe, würde diese ja ansonsten nicht funktionieren.

Also: Aufruf der Startseite -> Check ob Javascript aktiviert ist. Wenn ja -> Weiterleitung zur Browserweiche. Wenn nein -> Hinweis das Javascript zu aktivieren ist.
Browserweiche erkennt zugelassenen Browser (IE ab 5.0 / NS 6 etc) -> Weiterleitung zur eigentlichen Seite.
Browserweiche stellt fest dass der User einen veraltetet Browser benutzt -> Hinweisseite mit der Bitte einen anderen Browser zu verwenden, aber auch der Link auf die Hauptseite, damit ein NS4 Benutzer dennoch die Gelegenheit hat die Seite (wenn auch mit eingeschränkter Funktionalität und schlechtem Design) zu betrachten.

Probier es aus wenn Du http://www.haarformer.com ohne Javascript aufrufst bzw. einen NS4 verwendest.

Die Frage ist nun, wie ein Konqueror oder ein anderer Browser, der nicht in der Weiche gelistet ist auf das Script reagiert bzw. wie ich das Script noch vervollständigen muss, damit es „Idiotensicher“ wird.

Die Generelle Info, welchen Browser ein User benutzt (also ob IE 5.5 oder 6.0) interessiert mich ansonsten nicht. Ich will halt nur die ganz alten abfangen.

Gruß
Achim

Hi Achim,
ich schließe Netscape4 auf meiner Seite folgendermaßen aus:

index.html
__________

Titel
if ((navigator.appName.indexOf(„Netscape“) != -1) &&
(navigator.appVersion.substring(0, navigator.appVersion.indexOf("."))==4)) {
location.replace(‚netscape.html‘) }
else {
location.replace(‚start.html‘) }
Zur Darstellung von sg-nimstal.de ist JavaScript erforderlich!

Bitte aktivieren Sie es in Ihren Browsereinstellungen.

start.html ist die eigentliche Startseite.
Auf der Seite netscape.html steht ein Hinweis, ein Link zum Download neuerer Browser und zusätzlich ein Link auf start.html, um „auf eigene Gefahr“ trotzdem auf die Seite zu gelangen

Zu anderen Browsern kann ich dir leider auch nichts Genaueres sagen.

LG, piranja

Daher möchte ich einen NS4 Benutzer beim Aufruf der Startseite auf
seinen veralteten Browser hinweisen (so wie hier bei
wer-weiss-was.de) und ihm empfehlen, einen moderneren Browser
zu verwenden.

Also: Aufruf der Startseite -> Check ob Javascript
aktiviert ist. Wenn ja -> Weiterleitung zur Browserweiche.
Wenn nein -> Hinweis das Javascript zu aktivieren ist.
Browserweiche erkennt zugelassenen Browser (IE ab 5.0 / NS 6
etc) -> Weiterleitung zur eigentlichen Seite.

Browserweiche stellt fest dass der User einen veraltetet
Browser benutzt -> Hinweisseite mit der Bitte einen anderen
Browser zu verwenden, aber auch der Link auf die Hauptseite,
damit ein NS4 Benutzer dennoch die Gelegenheit hat die Seite
(wenn auch mit eingeschränkter Funktionalität und schlechtem
Design) zu betrachten.