# Browserabfrage



## Guest (22. Dez 2004)

Hallo zusammen,

hab mal eine Frage. 
Muss zur Zeit eine Website erstellen, auf die nur User gewisser Browser zugreifen können.
Nur User der Browser Netscap6 (und höher) und IEE5.5 (und höher) sollen auf die richtige Seite kommen.
Sollte der User diesen Browser nicht besitzen, soll er auf eine andere Seite kommen.

Das Script sieht zur Zeit wie folgt aus und funktioniert mit Opera und Konqueror (sowie IE 6) einwandfrei, nur bei Netscap und Mozilla tut sich zur Zeit gar nichts.

Woran kann das liegen?




```
<script language="JavaScript">
<!--
var browser = navigator.userAgent.toLowerCase();
var ganzzahl = parseInt(navigator.appVersion);
var genauezahl = parseFloat(navigator.appVersion);

var netscap = ((browser.indexOf('mozilla')!=-1) && (browser.indexOf('spoofer')==-1) && (browser.indexOf('compatible') == -1) && (browser.indexOf('opera')==-1) && (browser.indexOf('webtv')==-1) && (browser.indexOf('hotjava')==-1));
var netscap4 = (netscap && (ganzzahl == 4));
var netscap4up = (netscap && (ganzzahl >= 4));
var netscaponly = (netscap && ((browser.indexOf(";nav") != -1) || (browser.indexOf("; nav") != -1)));

var netscap6 = (netscap && (ganzzahl == 5));
var netscap6up = (netscap && (ganzzahl >= 5));
var is_gecko = (browser.indexOf('gecko') != -1);

var explorer = ((browser.indexOf("msie") != -1) && (browser.indexOf("opera") == -1));
var explorer3 = (explorer && (ganzzahl < 4));
var explorer4 = (explorer && (ganzzahl == 4) && (browser.indexOf("msie 5")==-1));
var explorer4up = (explorer && (ganzzahl >= 4));
var explorer5 = (explorer && (ganzzahl == 4) && (browser.indexOf("msie 5.0")!=-1));
var explorer5_5 = (explorer && (ganzzahl == 4) && (browser.indexOf("msie 5.5") !=-1));
var explorer5up = (explorer && !explorer3 && !explorer4);
var explorer5_5up =(explorer && !explorer3 && !explorer4 && !explorer5);
var explorer6 = (explorer && (ganzzahl == 4) && (browser.indexOf("msie 6.0") !=-1));

var opera = (browser.indexOf("opera") != -1);
var opera4 = (browser.indexOf("opera 4") != -1);
var opera5 = (opera && (ganzzahl == 5));
var opera5up = (opera && (ganzzahl >=5));

if (netscap) {
if (netscape6up) 
document.location.href = "job_index_dt1.htm";
else {
if (netscape4up)
document.location.href = "sap/hinweis_dt.htm";
else
document.location.href = "sap/hinweis_dt.htm";
}
}
else {
if (explorer) {
if (explorer6) 
document.location.href = "job_index_dt1.htm";
else {
if (explorer5_5 || explorer5 || explorer5_5up)
document.location.href = "sap/hinweis_dt.htm";
else {
if (explorer4up || explorer4)
document.location.href = "sap/hinweis_dt.htm";
else
document.location.href = "sap/hinweis_dt.htm";
}
}
}
else {
if (opera) {
if (opera5up) 
document.location.href = "sap/hinweis_dt.htm";
else {
if (opera4)
document.location.href = "sap/hinweis_dt.htm";
else
document.location.href = "sap/hinweis_dt.htm";
}
}
else
document.location.href = "sap/hinweis_dt.htm";
}
}
//-->
</script>
```


----------



## Student (22. Dez 2004)

was hälst du denn davon die seite für alle browsertypen zugänglich zu machen?
dann sparst du dir einfach den ganzen kram.


----------



## Guest (22. Dez 2004)

ne, geht leider nicht... wurde so vorgegeben und muss so gemacht werden...


----------



## Student (22. Dez 2004)

nuja. dann kann ich nicht helfen.
so einen unfug lerne ich auch nicht ^^

sorry. grüße ben ;-)


----------



## Bleiglanz (23. Dez 2004)

> ne, geht leider nicht... wurde so vorgegeben und muss so gemacht werden...


ich geb dir jetzt mal vor, einen Liter Lebertran zu trinken

das muss dann so gemacht werden


macht die Browsererkennung doch am Server, z.B. in einem Filter, das ist viel einfacher und verhindert zudem, dass erstmal der ganze JS Schrott geschickt wird und dann location.href gemacht wird (sinnloser Roundtrip)


----------

