Browsercheck & CSS
kpm
- browser
0 illbert0 kpm0 Kai Lahmann0 emu
0 Sönke Tesch0 kpm0 Sönke Tesch0 kpm
Hallo,
erst mal ne doofe frage: was bedeutet das ? bei .../index.htm?browser=ns4 ???
also wie und was spricht man damit an.
also mein problem ist, dass ich einen internetauftritt mit ungefähr 120 seiten in 3 sprachen (also 360) machen muss und es sollte auf jedem browser so gut wie gleich aussehen. das heisst also, dass ich 5 verschiedene stylesheets brauche. doch ich will nicht für jeden browser eine eigene seite machen sonst würden aus den 360 gleich 1800.
jetzt kommt der bezug auf oben. bei volkswagen habe ich gesehen, dass es anscheinen auch anders geht. da sieht es so aus, dass die stylesheets in die seiten generiert werden.
hat von euch einer erfahrung damit und kann mir weiterhelfen?
danke schon mal im voraus.
kpm
Hallo,
erst mal ne doofe frage: was bedeutet das ? bei .../index.htm?browser=ns4 ???
also wie und was spricht man damit an.
also mein problem ist, dass ich einen internetauftritt mit ungefähr 120 seiten in 3 sprachen (also 360) machen muss und es sollte auf jedem browser so gut wie gleich aussehen. das heisst also, dass ich 5 verschiedene stylesheets brauche. doch ich will nicht für jeden browser eine eigene seite machen sonst würden aus den 360 gleich 1800.
jetzt kommt der bezug auf oben. bei volkswagen habe ich gesehen, dass es anscheinen auch anders geht. da sieht es so aus, dass die stylesheets in die seiten generiert werden.
hat von euch einer erfahrung damit und kann mir weiterhelfen?
danke schon mal im voraus.
kpm
Das mit dem .../index.htm?browser=ns4 ??? heißt, dass da in der URL ein Parameter names browser mit dem Wert ns4 übergeben wird. Dieser wird dann Serverseitig ausgewertet.
Das ganze hat aber nichts mit deinem Problem zu tun. Bei dir bietet es sich an, mit JavaScript eine Browserweiche zu bauen, mit der du den Browser erkennst und das entsprechende CSS lädst.
ich habe das Problem mal wie folgt gelöst:
<SCRIPT LANGUAGE="JavaScript1.2">
//Browserweiche fuer CSS
var browser = navigator.appName;
switch(browser)
{
case 'Microsoft Internet Explorer':{
document.write("<link rel=stylesheet type="text/css" href="css_datei_1.css">");
break;
}
case 'Netscape':{
document.write("<link rel=stylesheet type="text/css" href="css_datei_2.css">");
break;
}
case 'Noch ein Browser':{
document.write("<link rel=stylesheet type="text/css" href="styles_3.css">");
break;
}
default:{
document.write("<link rel=stylesheet type="text/css" href="css_datei_fuer_unbekannte_browser.css">");
break;
}
}
</script>
Dieses Script wird einfach in den Head deiner seiten gesetzt. Man kann das sicher auch eleganter machen, aber es ist zumindest eine Möglichkeit
Schau dir auch mal die JavaScript Objektreferenz für Browser an:
http://selfhtml.teamone.de/javascript/objekte/navigator.htm
Ciao
Illbert
Danke!
Jetzt noch ne Frage:
Ich will für IE, Netscape 4, Netscape 6 und Opera ein Stylesheet. Wie würde das dann aussehen??? Welchen Netscape bei "case 'Netscape'" sprichst Du in Deinem Script an?
klaus
Hallo,
erst mal ne doofe frage: was bedeutet das ? bei .../index.htm?browser=ns4 ???
also wie und was spricht man damit an.
also mein problem ist, dass ich einen internetauftritt mit ungefähr 120 seiten in 3 sprachen (also 360) machen muss und es sollte auf jedem browser so gut wie gleich aussehen. das heisst also, dass ich 5 verschiedene stylesheets brauche. doch ich will nicht für jeden browser eine eigene seite machen sonst würden aus den 360 gleich 1800.
jetzt kommt der bezug auf oben. bei volkswagen habe ich gesehen, dass es anscheinen auch anders geht. da sieht es so aus, dass die stylesheets in die seiten generiert werden.
hat von euch einer erfahrung damit und kann mir weiterhelfen?
danke schon mal im voraus.
kpm
Das mit dem .../index.htm?browser=ns4 ??? heißt, dass da in der URL ein Parameter names browser mit dem Wert ns4 übergeben wird. Dieser wird dann Serverseitig ausgewertet.
Das ganze hat aber nichts mit deinem Problem zu tun. Bei dir bietet es sich an, mit JavaScript eine Browserweiche zu bauen, mit der du den Browser erkennst und das entsprechende CSS lädst.
ich habe das Problem mal wie folgt gelöst:
<SCRIPT LANGUAGE="JavaScript1.2">
//Browserweiche fuer CSS
var browser = navigator.appName;
switch(browser)
{
case 'Microsoft Internet Explorer':{
document.write("<link rel=stylesheet type="text/css" href="css_datei_1.css">");
break;
}
case 'Netscape':{
document.write("<link rel=stylesheet type="text/css" href="css_datei_2.css">");
break;
}
case 'Noch ein Browser':{
document.write("<link rel=stylesheet type="text/css" href="styles_3.css">");
break;
}
default:{
document.write("<link rel=stylesheet type="text/css" href="css_datei_fuer_unbekannte_browser.css">");
break;
}
}
</script>
Dieses Script wird einfach in den Head deiner seiten gesetzt. Man kann das sicher auch eleganter machen, aber es ist zumindest eine Möglichkeit
Schau dir auch mal die JavaScript Objektreferenz für Browser an:
http://selfhtml.teamone.de/javascript/objekte/navigator.htm
Ciao
Illbert
hi
Ich will für IE, Netscape 4, Netscape 6 und Opera ein Stylesheet. Wie würde das dann aussehen???
am besten versuchst du allen anständigen Browsern (MSIE, NN6, Mozilla, Opera, konqueror) den gleichen Stylesheet zu verpassen und NUR für Netscape 4 eine Spezialversion - den fragt man dann im JS mit if(document.layers) ab.
Welchen Netscape bei "case 'Netscape'" sprichst Du in Deinem Script an?
gut gedacht!!! 95% aller Probleme mit Netscape 6 entstehen, weil eben so die Browser abgefragt werden und NN6 den Code für seinen verbuggten Vorgänger kriegt.
Grüße aus Lübeck
Kai
Hallo Kai!
Aber Kai, immer all die intelligenten, gut formulierten Beiträge und dann das
gut gedacht!!!
Ich bin wirklich sehr enttäuscht von dir.
http://www.sockenseite.de/usenet/ausruf.html
emu
[scnr]
erst mal ne doofe frage: was bedeutet das ? bei .../index.htm?browser=ns4 ???
also wie und was spricht man damit an.
Damit zeigt irgendjemand, der sich wahrscheinlich HTML-Programmierer nennt, daß er nicht in der Lage ist, Seiten zu schreiben, die auf allen Browsern lesbar sind. Und er kann das noch nichtmal vernünftig verbergen. Erbärmlich.
Technisch gesehen: Hinter dem Fragezeichen kommen Variablen, die an die Seite übergeben werden. Wahrscheinlich steckt in dieser Seite irgendein Javascript-Dingen, das die Variable browser erwartet.
also mein problem ist, dass ich einen internetauftritt mit ungefähr 120 seiten in 3 sprachen (also 360) machen muss und es sollte auf jedem browser so gut wie gleich aussehen.
Das wird nix. Dazu ist HTML/CSS auch nicht unbedingt gedacht, die Idee war ja eher ein Format, mit dem man überall Dokumente lesen kann. Wenn Du es stattdessen nur überall exakt gleich haben willst, kauf Dir einen Apfel-Rechner, mach Desktoppabblisching und such Dir eine nette Druckerei.
Anders ausgedrückt: Du mußt den Browsern schon von vornherein ein wenig Eigenwillen zugestehen, sonst kriegst Du nur graue Haare bei der Arbeit :)
das heisst also, dass ich 5 verschiedene stylesheets brauche.
Jein, nicht unbedingt. Wenn man sich an echte Standards hält und auf diese pocht, reicht eines.
Aber wenn Du jeden Browser sein eigenes Süppchen kochen lässt, mußt Du natürlich ein paar Seiten und vor allen Dingen Krücken mehr einbauen. Krücken dienen allerdings nicht nur als Gehhilfen, sondern können andere Leute natürlich auch wunderbar in's Stolpern bringen..
jetzt kommt der bezug auf oben. bei volkswagen habe ich gesehen, dass es anscheinen auch anders geht. da sieht es so aus, dass die stylesheets in die seiten generiert werden.
hat von euch einer erfahrung damit und kann mir weiterhelfen?
Du kannst es natürlich so machen wie Volkswagen. Ich prophezeihe Dir aber, daß Du auf diesem Weg für jede Lösung (sprich: Browserkrücke) hundert neue Probleme bekommen wirst, die Du aufgrund Deiner Kenntnisse nicht lösen können wirst. Und auf hundert Probleme kommen tausend Leute, die Deine Seiten wutentbrannt nach 2.35975 Sekunden verlassen werden.
Mein Vorschlag und Rat:
Halte Dich in Deinen Seiten _exakt_ an HTML 4. Der W3C-Validator hilft Dir dabei (http://validator.w3.org).
Beachte vor allen Dingen, daß Du HTML _nur_ zum Auszeichnen von Textstellen benutzt und die eigentliche Definition des Aussehens _nur_ mit CSS bewerkstelligst.
Lass Dich nicht von fehlerhaften und veralteten Browsern irritieren. Netscape 4 kann mit CSS so gut wie garnicht um und ist davon abgesehen arg auf dem absteigenden Ast. Da lohnt es sich nicht, auf den Rücksicht zu nehmen. Was nicht heißen soll, daß man diese Leute aussperren muß; aber wer mit einem Textbrowser unterwegs ist, bekommt halt auch nur Text zu sehen..
Auch der IE 5 mit seiner falschen Benutzung vom CSS-width nimmt langsam aber sicher in den Nutzerzahlen ab.
Wie 1) und 2) aussehen können, kannst Du unter [http://kino-fahrplan.de] betrachten. "Browser- und Bildschirm-Optimierungen" sind IMHO völlig unnötig, ein "Sie können diese Seiten nur mit XY betrachten" sowieso.
Ich weiß nun nicht, was Du für Seiten schreiben sollst, aber man kann mit CSS mehr machen, als bunte Schriften zaubern. Es ist durchaus möglich, in einer HTML-Datei nur noch den eigentlichen, rohen Text zu haben, angereichert mit <h1> bis <h6>, <div>, <p>, <br> und <img>. Alles Bunte drumherum, inklusive Positionierung, steckt in der CSS-Definition. 15-Minuten-Fingerübung als Beispiel: http://kino-fahrplan.de/magazin/, man beachte den aufgeräumten Quelltext. Die Nur-HTML-Version dazu (wohlgemerkt nicht von mir:) gibt's unter http://www.magazinfilmkunst.de, auch hier mal in den Quelltext schauen.
Gruß,
soenk.e
Das nenne ich mal ne Antwort. Danke!
erst mal ne doofe frage: was bedeutet das ? bei .../index.htm?browser=ns4 ???
also wie und was spricht man damit an.
Damit zeigt irgendjemand, der sich wahrscheinlich HTML-Programmierer nennt, daß er nicht in der Lage ist, Seiten zu schreiben, die auf allen Browsern lesbar sind. Und er kann das noch nichtmal vernünftig verbergen. Erbärmlich.
Technisch gesehen: Hinter dem Fragezeichen kommen Variablen, die an die Seite übergeben werden. Wahrscheinlich steckt in dieser Seite irgendein Javascript-Dingen, das die Variable browser erwartet.
also mein problem ist, dass ich einen internetauftritt mit ungefähr 120 seiten in 3 sprachen (also 360) machen muss und es sollte auf jedem browser so gut wie gleich aussehen.
Das wird nix. Dazu ist HTML/CSS auch nicht unbedingt gedacht, die Idee war ja eher ein Format, mit dem man überall Dokumente lesen kann. Wenn Du es stattdessen nur überall exakt gleich haben willst, kauf Dir einen Apfel-Rechner, mach Desktoppabblisching und such Dir eine nette Druckerei.
Anders ausgedrückt: Du mußt den Browsern schon von vornherein ein wenig Eigenwillen zugestehen, sonst kriegst Du nur graue Haare bei der Arbeit :)
das heisst also, dass ich 5 verschiedene stylesheets brauche.
Jein, nicht unbedingt. Wenn man sich an echte Standards hält und auf diese pocht, reicht eines.
Aber wenn Du jeden Browser sein eigenes Süppchen kochen lässt, mußt Du natürlich ein paar Seiten und vor allen Dingen Krücken mehr einbauen. Krücken dienen allerdings nicht nur als Gehhilfen, sondern können andere Leute natürlich auch wunderbar in's Stolpern bringen..
jetzt kommt der bezug auf oben. bei volkswagen habe ich gesehen, dass es anscheinen auch anders geht. da sieht es so aus, dass die stylesheets in die seiten generiert werden.
hat von euch einer erfahrung damit und kann mir weiterhelfen?
Du kannst es natürlich so machen wie Volkswagen. Ich prophezeihe Dir aber, daß Du auf diesem Weg für jede Lösung (sprich: Browserkrücke) hundert neue Probleme bekommen wirst, die Du aufgrund Deiner Kenntnisse nicht lösen können wirst. Und auf hundert Probleme kommen tausend Leute, die Deine Seiten wutentbrannt nach 2.35975 Sekunden verlassen werden.
Mein Vorschlag und Rat:
- Halte Dich in Deinen Seiten _exakt_ an HTML 4. Der W3C-Validator hilft Dir dabei (http://validator.w3.org).
Beachte vor allen Dingen, daß Du HTML _nur_ zum Auszeichnen von Textstellen benutzt und die eigentliche Definition des Aussehens _nur_ mit CSS bewerkstelligst.
- Lass Dich nicht von fehlerhaften und veralteten Browsern irritieren. Netscape 4 kann mit CSS so gut wie garnicht um und ist davon abgesehen arg auf dem absteigenden Ast. Da lohnt es sich nicht, auf den Rücksicht zu nehmen. Was nicht heißen soll, daß man diese Leute aussperren muß; aber wer mit einem Textbrowser unterwegs ist, bekommt halt auch nur Text zu sehen..
Auch der IE 5 mit seiner falschen Benutzung vom CSS-width nimmt langsam aber sicher in den Nutzerzahlen ab.
Wie 1) und 2) aussehen können, kannst Du unter [http://kino-fahrplan.de] betrachten. "Browser- und Bildschirm-Optimierungen" sind IMHO völlig unnötig, ein "Sie können diese Seiten nur mit XY betrachten" sowieso.
Ich weiß nun nicht, was Du für Seiten schreiben sollst, aber man kann mit CSS mehr machen, als bunte Schriften zaubern. Es ist durchaus möglich, in einer HTML-Datei nur noch den eigentlichen, rohen Text zu haben, angereichert mit <h1> bis <h6>, <div>, <p>, <br> und <img>. Alles Bunte drumherum, inklusive Positionierung, steckt in der CSS-Definition. 15-Minuten-Fingerübung als Beispiel: http://kino-fahrplan.de/magazin/, man beachte den aufgeräumten Quelltext. Die Nur-HTML-Version dazu (wohlgemerkt nicht von mir:) gibt's unter http://www.magazinfilmkunst.de, auch hier mal in den Quelltext schauen.
- Bau Deine Seiten modular auf. Der Apache-Webserver hilft Dir beim Aufsplitten mit Server Side Includes und bei der automatischen Sprachwahl mit Content Negotiation.
Die beiden Techniken lassen sich auch kombinieren, so daß Du zum Beispiel den "Seitenrahmen" (also das Grundgerüst) in eine Datei legst und von dieser aus die übersetzten Inhalte (also den eigentlichen Text) vom Webserver automatisch aus anderen Dateien einfügen lässt.
Siehe auch <//?m=64978&t=11695>.
Gruß,
soenk.e
Das nenne ich mal ne Antwort. Danke!
Geholfen hat's wohl nix, wenn Du ein paar Minuten später nach der Browserweiche fragst ;>
Gruß,
soenk.e
Ich lasse mir einfach mehrere Möglichkeiten offen und entscheide dann. Deine Antwort hat auf alle Fälle geholfen, denn jetzt weiss ich, dass es auch anders geht...
Das nenne ich mal ne Antwort. Danke!
Geholfen hat's wohl nix, wenn Du ein paar Minuten später nach der Browserweiche fragst ;>
Gruß,
soenk.e