Browser-Weiche/Browser-Abfrage
Vladi Kakuracz
- browser
Hallo, da ich neu im Metier bin, sei mir folgende, fast lächerlich anmutende Frage verziehen: Ich möchte gerne eine sog. Browser-Weiche in eine Seite bauen. MSIE-Nutzer sollen automatisch auf eine bestimmte HTML-Datei gelenkt werden, die Nutzer anderer Browser eben auf eine andere, wobei die unterschiedlichen Versionen erst mal keine Rolle spielen. Zugegebenermaßen kein elementares Problem, aber ich wäre für ein konkretes Code-Beispiel (JavaScript?) doch sehr dankbar...
Hi Vladi,
Du kannst mittel JavaScript realisieren. Du kannst mit JS die version und den namen des Browsers ermitteln.
Schau dir diesen Link an:
http://selfhtml.teamone.de/javascript/objekte/navigator.htm
Viel Erfolg
Gruss
x-VieW
Hi Vladi && x-VieW,
also das mit dem Navigator-Objekt kannst Du fast vergessen. Jedenfalls als Anfänger solltest Du die Finger davon lassen, da es nicht so leicht ist, wie es scheint... Durchsuche mal das Forum nach Browserweiche, bzw. Browserabfrage, um zu verstehen.
Besser ist es, spezielle Browser-Eigenschaften abzufragen, z.B. so:
dom = (document.getElementById) ? true : false;
ie4 = (document.all) ? true : false;
ns4 = (document.layers) ? true : false;
op = (window.opera) ? true : false;
Eine Weiche wird praktisch so realisiert:
if(ie4) window.location.href = "ie.html";
else if(ns4) window.location.href = "ns.html";
etc.
Soviel zur Weiche. Allerdings dürfte es in den meisten Fällen der falsche Ansatz sein. Du solltest besser Webseiten erstellen, die sich an Standards halten und damit auf allen aktuellen Web-Browsern laufen.
Gruß,
Danny
Hi Danny,
Ich habe deine Variante bis jetzt nicht probiert. Aber wie immer, man lernt immer etwas neues ;-). So dafür gibt's Forum.
Aber danke für den Vorschlag
Gruss
x-VieW
He, ich check das mal durch und dank' Euch schon mal vorab...
Gru?, Vladi
Hallo Vladi,
Du hast zwei Optionen: zu versuchen, den Namen des Browsers abzufragen, oder nach bestimmten JavaScript-Objekten zu fragen, die nur bestimmte Browser können. Das erste ist nicht zu empfehlen, da es relativ leicht gefälscht werden kann (bzw. im Falle Opera schon in der Voreinstellung gefälscht ist) - also das zweite. Hier ein Beispiel:
if (document.all && !window.opera) {
location.replace("ie_seite.htm");
}
else {
location.replace("andere_seite.htm")
}
Mit "if (...)" fragst Du eine Bedingung ab, hier: existiert das Objekt document.all. Das existiert in alle IE ab Version 4 plus in Operas, die sich als IE ausgeben. Daher der zweite Teil der Abfrage: "&&" ist die logische Und-Verknüpfung, das Objekt window.opera existiert nur in Operas, das "!" verneint das wieder, in dt. Prosa also: "Wenn das Objekt document.all existiert und gleichzeitig das Objekt window.opera nicht existiert, dann.."
location.replace() führt dann auf die Folgeseite weiter (auch location.href denkbar, sieh in SelfHTML zum Unterschied nach, wenn Du ihn nicht weißt). "else" bezieht sich auf alle anderen Fälle, auch hier dann wieder ein location.replace() - fertig.
Grüße,
Utz
Hallo Vladi,
Ich möchte gerne eine sog. Browser-Weiche in eine Seite bauen. MSIE-Nutzer sollen automatisch auf eine bestimmte HTML-Datei gelenkt werden, die Nutzer anderer Browser eben auf eine andere, wobei die unterschiedlichen Versionen erst mal keine Rolle spielen.
Da wäre noch zu fragen wofür Du die Weiche einsetzen willst.
1. Um Javascript Functionen oder DHTML an den jeweiligen Browser anzupassen: Dann ist das Beispiel von Danny optimal.
2. Nur für CSS: Dann würde ich es nicht mit JS machen, (denn das kann deaktiviert sein) sondern wie in http://aktuell.de.selfhtml.org/tippstricks/css/browserweiche/index.htm beschrieben, direkt in der Style definition.
Außerdem gibt es hierzu noch eine große Menge Beiträge im Forumsarchiv. Einfach mal den Suchbegriff Browserweiche eingeben.
Hoffe das hat Dir geholfen
Grüße aus Nürnberg, HarryS