Eine Seite für bestimmte Browser einrichten


Auf Grund der Vielzahl der Browser und speziell deren spezifischer Eigenart, den Code mehr oder weniger anders bzw. nicht W3C konfirm zu interpretieren, kann man Webseiten erstellen, die genau auf den jeweils "angedachten" Browser zugeschnitten sind.
Drei Dinge möchte ich jedoch im Vorfeld vorweg nehmen:

1. sollte man nach Möglichkeit immer W3C konfirmen Code erstellen
2. muss die browserspezifische Seite dann 2- bzw. mehrfach erstellt werden um Benutzer anderer Browser nicht zu benachteiligen oder gar zu verärgern und
3. muss der Betrachter in dem von mir vorgestellten Beispiel JavaScript aktiviert haben um den Browser zu erkennen.

Kommen wir zur Ausführung. Wie im dritten Punkt erwähnt, muss erst einmal abgefragt werden, welchen, oder ob der Leser genau den Browser hat, um die gedachte Darstellung sehen zu können. Dazu bedienen wir uns einem einfachen JavaScript:
In den head Bereich einer HTML-Seite geben wir folgendes ein:

<html>
<head>
<title>Titel der Seite</title>

<SCRIPT LANGUAGE ="JavaScript">
location="browser_speziell.htm";
</script>

</head>
<body>

Hier kommt W3Ckonfirmer Inhalt hinein um alle Benutzer ohne aktiviertem JavaScript und Browser, die wir nicht überprüft haben mit unserem Inhalt zu versorgen.
</body>
</html>

Wichtig ist für uns die Zeile : location="browser_speziell.htm"; damit wird festgestellt, dass der Benutzer JavaScript aktiviert hat und wir leiten zum eigentlichen Browser-Sniffer weiter.

Anderenfalls wird diese Zeile ignoriert ( da kein JavaScript aktiv ist und es wird vom Browser nur der Inhalt dargestellt, der sich zwischen dem öffnenden und schliessenden body-tag befindet.

Der Quelltext des eigentlichen Browsersniffers lautet: (vorausgesetzt die Datei lautet : browser_speziell.htm )

<html>
<head>
<title>Titerl der Seite</title>
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">
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);
}
document.writeln('<b>Browser Name: </b>' + bName + '<br>');
document.writeln('<b>Browser Version: </b>' + bVer + '<br>');
</script>
<script language="JavaScript">


// IE 3 Weiterleitung
if(bName=="Microsoft Internet Explorer"&&bVer >="3.0" &&bVer <"4.0")
{
document.write("Sie benutzen den InternetExplorer 3")
}

// IE 4 Weiterleitung
if(bName=="Microsoft Internet Explorer"&&bVer <"5.5" &&bVer >="4.0")
{
document.write("Sie benutzen den InternetExplorer 4 oder höher")
}

// IE 5 Weiterleitung
if(bName=="Microsoft Internet Explorer"&&bVer <"5.5" &&bVer >"4.5")
{
document.write("Sie benutzen den InternetExplorer 5.0")
}

// IE 5.5 Weiterleitung
if(bName=="Microsoft Internet Explorer"&&bVer =="5.5")
{
document.write("Sie benutzen den InternetExplorer 5.5")
}

// IE 6 Weiterleitung
if(bName=="Microsoft Internet Explorer"&&bVer >"5.5")
{
document.write("Sie benutzen den InternetExplorer 6.0")
}

// Opera 3 Weiterleitung
if(bName=="Opera"&&bVer >="3.0" && bVer < "4.0")
{
document.write("Sie benutzen den Browser Opera in der 3er Version")
}

// Opera 4 Weiterleitung
if(bName=="Opera"&&bVer>="4.0" &&bVer < "5.0")
{
document.write("Sie benutzen den Browser Opera in der 4er Version")
}

// Opera 5 Weiterleitung
if(bName=="Opera"&&bVer>="5.0" &&bVer < "6.0")
{
document.write("Sie benutzen den Browser Opera in der 5er Version")
}

// Opera 6 Weiterleitung
if(bName=="Opera"&&bVer>="6.0" &&bVer < "7.0")
{
document.write("Sie benutzen den Browser Opera in der 6er Version")
}


// Opera 7 Weiterleitung
if(bName=="Opera"&&bVer>="7.0" &&bVer < "8.0")
{
document.write("Sie benutzen den Browser Opera in der 7er Version")
}
 
// Netscape 4.x Weiterleitung
if(bName=="Netscape"&&bVer >="4.0" &&bVer < "5.0")
{
document.write("Sie benutzen den Netscape der 4er Version")
}

// Netscape 6 Weiterleitung
if(bName=="Netscape"&&bVer >="6.0" &&bVer < "7.0")
{
document.write("Sie benutzen den Netscape der 6er Version")
}

// Netscape 7 Weiterleitung
if(bName=="Netscape"&&bVer >="7.0" &&bVer < "8.0")
{
document.write("Sie benutzen den Netscape der 7er Version")
}
//-->
</script>

</body>

<html>


Zum obigen Quelltext: es wird zuerst überprüft, welche Browserversion bzw. ob die angeforderte Browserversion verfügbar ist. Dieses Script unterscheidet zwischen: InternetExplorer Version 3,4,5, 5.5 ,6 , Opera 3,4,5,6,7 und Netscape 4, 6 und 7.

Die Unterversionen wie z.B. für Netscape 4.73 und 4.75 sind in der Version Netscape 4x enthalten.
Wichtig wird jetzt für den Browsersniffer, welche Browserversion ihr speziell anbieten wollt. Habt ihr z.B. eine spezielle Seite, welche konkret für
Netscape 6 entworfen wurde und genau diesen Usern gezeigt werden soll, geht ihr folgendermassen vor:

Ihr erstellt zuerst eine Seite, welche W3C-konfirm ist um alle Benutzer mit Browsern, die nicht Netscape 6 verwenden, eine richtige (leserliche) Seite anzuzeigen. Für die User mit Netscape 6 ( und eingeschaltetem JavaScript) wie oben erwähnt, erstellt ihr diese spezielle Seite. Diese benennt ihr in meinem Beispiel mit netscape6.htm

Diese beiden Zeichen // im obigen Script sind Kommentare. Ihr sucht euch //Netscape6 Weiterleitung und zwischen der öffnenden { und schliessenden } Klammer setzt ihr ein: location="netscape6.htm";

Das document.write..... streicht ihr weg. Dadurch wird genau für diese User mit dem Browser Netscape 6 die Seite geöffnet, die ihr speziell für diese vorbereitet habt.

Ich denke mal, das sollte alles klappen. Ich habe es diesmal nicht als .txt Datei zum Download angeboten, da ihr mit der rechten Maustaste den Qullcode kopieren könnt.