Frank Polster: Script zum Wechseln des CSS mit Cookie

Hallo Helfer.

In meiner Firma habe ich fürs Intranet eine Möglichkeit geschaffen, verschiedene Stile auszuwählen. Folgendes Script wird auf jeder Seite aufgerufen, um das im Cookie gespeicherte Style Sheet auszuwählen:

CSSheet = document.cookie;
path = "//xxxxxxxx-nt40/info/intranet/";
StyleSheet = CSSheet.substr(CSSheet.indexOf("CSSheet=") + 8, 1);
document.write("<link rel='stylesheet' type='text/css' href='" + path + "info" + StyleSheet + ".css'>");

Das ganze klappt auch gut, bis auf Popups. Bei denen geht das nur auf meiner eigenen Festplatte - im Netzwerk nicht.

Würde mich über einen Tipp freuen.

  1. Hallo Zuhelfender,

    CSSheet = document.cookie;

    ich denke, das Problem liegt hier. Cookies sind dokumentbezogen und stehen immer nur für die Seite zur Verfügung, die sie auch gesetzt hat.

    Wird also z.B. in der Hauptseite index.html ein Cookie gesetzt, kann es von dieser Seite index.html beim nächsten Aufruf auch wieder gelesen werden. Ruft diese Seite jetzt ein Popupfenster auf, in dem z.B. die Seite popup.html gezeigt wird, steht dieser Seite das Cookie nicht zur Verfügung.

    Lösungsmöglichkeit:

    Gewünschte CSS-Datei auf dem Server personenbezogen merken (z.B. in einer Textdatei oder Datenbank) und per PHP oder Perl jeder abgerufenen Seite mitgeben.

    CU Christoph