Browsercheck
christophe
- browser
Hallo,
wahrscheinlich ist das Thema angehend schon behandelt worden, ich bekomme aber die Scripte nicht unter einem Hut.....:
ich möchte gerne eine Browser-Abfrage basteln, die
alle NN- und IE-User mit nicht css- und js-kompatiblen Browsern abfängt,
ach ja und NN 6 auch, wegen der fehlenden Layer-Darstellung:
Also bleiben quasi NN 4.x und IE 4.x bis 5.x übrig, kann das sein?
auch möchte ich Downloads zu den obigen Version anbieten d.h. der Text mit den Links zu den Anbietern darf nur erscheinen bei Usern mit den nicht kompatiblen Browsern (also eine Abfrage mit den verschiedenen Versionen)
auch habe ich zwei Weiterleitungen (zwei Startdateien) die den User auf die richtige Seiten bringen sollten, das Script dazu:
<script language="javascript">
if (navigator.appName.indexOf("Netscape") != -1){
window.location = "nn/start.htm";}
if (navigator.appName.indexOf("Explorer") != -1){
window.location = "ie/start.htm";}
else{
document.write('Dieser Text wird ausgegeben bei allen anderen Browsern. Alternativ kann hier natürlich aucheine URL angegeben werden.')
}
</script>
zu der Browser-Erkennung habe ich folgenden Script, wie bringe ich da nur den Text mit den Links unter??:
<script language="javascript">
<!--
var where = document.referrer
var name = navigator.appName
var vers = navigator.appVersion
document.write("Sie benutzen... <BR>"+where+" <BR> "+name+" "+vers+"<BR>")
// -->
</script>
Auf jeden Fall möchte ich das nicht so lösen, daß der User mit dem Browser den Link betätigt und der User mit dem Browser den Link betätigt usw....
So das wars, ich weiß ist ein bißchen unmißverständlich das Ganze:
vielleicht nimmt sich einer von Euch ja die Zeit (und Geduld) und hift mir!
wäre echt klasse
dankeschön
christophe
Hoi,
ich möchte gerne eine Browser-Abfrage basteln, die
- alle NN- und IE-User mit nicht css- und js-kompatiblen Browsern
abfängt, ach ja und NN 6 auch, wegen der fehlenden
Layer-Darstellung: Also bleiben quasi NN 4.x und IE 4.x bis 5.x
übrig, kann das sein?
- auch möchte ich Downloads zu den obigen Version anbieten d.h.
der Text mit den Links zu den Anbietern darf nur erscheinen bei
Usern mit den nicht kompatiblen Browsern (also eine Abfrage mit
den verschiedenen Versionen)
- auch habe ich zwei Weiterleitungen (zwei Startdateien) die den
User auf die richtige Seiten bringen sollten, das Script dazu:
<script language="javascript">
if (navigator.appName.indexOf("Netscape") != -1){
window.location = "nn/start.htm";}
if (navigator.appName.indexOf("Explorer") != -1){
window.location = "ie/start.htm";}
else{
document.write('Dieser Text wird ausgegeben bei allen anderen
Browsern. Alternativ kann hier natürlich aucheine URL angegeben
werden.')
}
</script>
Wenn du wirklich nur diese 3 Browser durchlassen willst, kannst
du doch viel einfacher checken:
<body>
<script language="JavaScript">
if(document.layers) {
location.replace("nn/start.htm");
}
else if(document.all) {
location.replace("ie/start.htm");
}
</script>
Wenn Sie das hier sehen koennen, dann haben Sie entweder JavaScript
deaktiviert oder einen mit den Funktionen dieser Seite nicht
kompatiblen Browser.
</body>
Gruesse,
CK
Hallo CK,
else if(document.all) {
-------------^^^^^^^^^^^^
Daß sowas überhaupt ungestraft als JavaScript bezeichnet werden darf... ;-)
Viele Grüße
Carsten
PS (nicht an CK ;-): es scheint immernoch Leute zu geben, die nicht wissen, daß man mit demselben "JavaScript"-Code Netscape6/Mozilla und M$IE5 aufwärts (und noch'n paar Browser mehr) gleichzeitig erschlagen kann...
else if(document.all) {
-------------^^^^^^^^^^^^
bei NN3.xx bekomme ich eine js-Fehlermeldung, klappt irgendwie nicht, danke trotzdem....
PS (nicht an CK ;-): es scheint immernoch Leute zu geben, die nicht wissen, daß man mit demselben "JavaScript"-Code Netscape6/Mozilla und M$IE5 aufwärts (und noch'n paar Browser mehr) gleichzeitig erschlagen kann..
ja wie denn?
bitte, bitte...
Hallo christophe,
da Du in Deinem Ausgangsposting die "fehlende Layerdarstellung" als Grund für Deinen Netscape6-Ausschluß angibst, nehme ich mal an, daß Du "DHTML" auf Deinen Seiten verwirklichen willst. Dazu solltest du Dir das folgende durchlesen:
http://selfhtml.teamone.de/dhtml/modelle/index.htm
"DOM" (document.getElementById): für IE5 aufwärts und Mozilla/Netscape6 und ...
"Das ältere DHTML-Modell von Microsoft" (document.all): für IE4 (wird aufgrund Microsoftscher Firmenpolitik aber dummerweise auch von IE5 aufwärts interpretiert)
"Das ältere DHTML-Modell von Netscape" (document.layers): für NN4 (wird von Mozilla/Netscape6 konsequenterweise nicht mehr unterstützt, da sich dieser Browser an den vom W3C vorgegeben Standard hält)
Viele Grüße
Carsten
Moin!
ja wie denn?
bitte, bitte...
Wie du schon von CarstenP erfahren hast, ist die Methode der Wahl "getELementById". Das kann jeder AKTUELLE Browser. Probleme machen die alten Browser: Netscape 4 kennt nur "document.layers", und IE 4 kennt nur "document.all". Du hast es mit deiner Seite also geschafft, für die aussterbenden Browser zu schreiben. :)
Die Sache ist aber einfacher, als es auf den ersten Blick aussieht. Meist will man irgendwelche Layer verstecken, und das geht so:
<script type="text/javascript">
//Browserunterscheidung
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
v6 = (document.getElementById)? true:false
//Layer anzeigen.
function showlayer(layerid)
{
if (ns4) document.layers[layerid].visibility = "show"
else if (v6) document.getElementById(layerid).style.visibility = "visible";
else if (ie4) document.all[layerid].style.visibility = "visible"
}
//Layer verstecken.
function hidelayer(layerid)
{
if (ns4) document.layers[layerid].visibility = "hide"
else if (v6) document.getElementById(layerid).style.visibility = "hidden";
else if (ie4) document.all[layerid].style.visibility = "hidden"
}
</script>
und als Layer simpel:
<div id="eineID" style="position:absolute ...">
Nur absolut positionierte Layer werden von Netscape 4 als Layer erkannt.
Die spannenderen Sachen wie dynamische Positionierung etc. liest du dann besser in SelfHTML oder anderswo nach, dazu gibts ausreichend Informationen, die ich hier nicht noch mal alle duplizieren muß. :)
- Sven Rautenberg
Hallo an Euch alle,
erstmal vielen Dank für die Fülle an Information:
(habe nämlich generell wenig Info über Browser gefunden, deshalb mein Eintrag...)
ich bin jetzt ein ganzes Stück vorangekommen, merke aber auch, daß ich mich mit der Thematik (die ja wirklich nicht unspannend ist) noch auseinandersetzten muß.
ein schönen Tag noch
und bis bald
christophe