css mittels Browserweiche laden

Status
Nicht offen für weitere Antworten.

Jape

Grünschnabel
Hey,

ich möchte für verschiedene Browser verschiedene css laden.
Z.B. für den IExplorer die explorer.css und für netscape die netscape.css.
Habe davon gehört, dass es etwas wie eine Browserweiche gibt nur leider weiß ich gar nicht wie ich die am besten einbaue.

für Hilfe
Gruß Jape
 
Ich hab' auf die Schnelle mal kurz was gebastelt, damit du siehst, wie das funktioniert.
Du brauchst allerdings in dieser Form JavaScript dafür.

Code:
<SCRIPT Language="JavaScript">
if (navigator.appName.indexOf("Netscape") != -1){
window.location = "netscape.htm";}
if (navigator.appName.indexOf("Explorer") != -1){
window.location = "internet_explorer.htm";}
else{
document.write('Dieser Text wird ausgegeben bei allen anderen Browsern. Alternativ kann hier natürlich auch eine URL angegeben werden.')
}
</script>
 
Hmm, aber damit linke ich doch auf ne komplett andere Seite.

Eigentlich soll nur eine andere css Datei geladen werden
 
Oder einfach so:
PHP:
<script type="text/javascript">
if (window.document.all) {
    window.document.write("<link rel=\"stylesheet\" href=\"explorer.css\" ...>");
} elseif (window.document.layers) {
    window.document.write("<link rel=\"stylesheet\" href=\"netscape.css\" ...>");
} else {
    window.document.write("<link ... href=\"others.css\" ...>");
}
Ob das mit window.document.layers funktioniert, weis ich nicht, musst du ausprobieren. Notfalls auf navigator.appName zurückgreifen.
 
So also klappt soweit.
Zumindest für Netscape aber "Explorer" erkennt er nicht als Internet Explorer.

Was kann ich da noch versuchen?
 
Hm, das sollte aber klappen!

Was genau funktioniert nicht?
Das all-Objekt existiert ja nur im IE, ausserdem hab ichs gerade getestet, bei mir gehts!

(Falls es dich interresiert: Hier der Code, den ich getestet hab: )
PHP:
if (window.document.all) {
    window.document.write("Internet Explorer");
} else if (window.document.layers) {
    window.document.write("Netscape");
} else {
    window.document.write("Anderer Browser");
}

//Edit: Ah, jetzt weis ich, was falsch war:
Es muss nicht elseif, sondern else if (mit leerzeichen) heisen :)
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück