| 

.NET C# Java Javascript Exception

3
Ich möchte gerne eine bestehende CSS-Datei beim Laden einer Site anpassen. Zum Hintergrund: Ich frage zunächst nach, ob es sich um eine Anfrage von einem mobilen Device oder von einem lokalen PC handelt. Dementsprechend möchte ich dann das Layout der Site anpassen. Ich möchte aber keine verschiedenen CSS-Dateien vorhalten. Geht so etwas per Skript und wenn ja wie?
15.12.2011
saucy6969 11 2
Das einfachste sind aber unterschiedliche CSS Dateien... Warum willst du nicht mehrere CSS Dateien?
Nicolai Schönberg 15.12.2011
2 Antworten
0
Das ganze geht mittels das CSS-Rules-Object: http://www.javascriptkit.com/dhtmltutors/externalcss3.shtml
15.12.2011
Floyd 14,6k 3 9
0
Wenn du Zugriff auf den Webserver hast, warum richtest du nicht eine Mod_Rewrite Regel ein und reagierst Serverseitig auf den Client.

Hier ist ein Beispiel: http://camendesign.com/code/mod_rewrite-css-targeting
Oftmals geht es auch einfach via .htaccess Datei im jeweiligen Ordner deiner Seite und du musst in deiner Webseite nur feste Links hinterlegen z.B.

<link rel="stylesheet" type="text/css" href="css/main.css" />


und in der .htaccess einfach nach Anleitung der Seite, ganz unten sind iphone Mobilclient Regeln und Android (ohne Gewähr)

RewriteCond %{HTTP_USER_AGENT} Android


Um den Browser rauszufinden, einfach den Testserver ansteuern und in den Loggings nachsehen.

Und damit du nicht gleiche Teile, wie Textformatierung, doppelt schreibst und einen Ripple Effekt hast, schreibe gemeinsame Eigenschaften in eine externe Datei und binde in der jeweiligen CSS nur via

@import url(text.css);


die jeweilge Datei ein.

So würde ich es machen und es ist sauberer, Fehlerfreier als ein Javascript und viel besser als in der Webseitenlogik 20 if-else Statements zu hinterlegen (ja, das hab ich schon gesehen)
16.12.2011
Lord_Pinhead 778 1 8

Stelle deine Javascript-Frage jetzt!