Frage

Ich glaube, ich muss Javascript verwenden, dies zu tun, damit ich es hier Überlauf auf Stapel gelegt. Also, ich habe zwei Themen für meine Website, der einzige Unterschied ist, dass man eine Farbe (Hintergrund), der andere ein wiederholtes Bild, so dass ich nicht getrennte CSS-Dateien für sie machen. Ich habe zwei Links in der Navigationsleiste, die es ändern (mit Javascript). In der CSS seine die feste Farbe Datei, so dass, wenn überhaupt die Seite geladen wird es beginnt als das. Wenn das Bild Thema Link geklickt wird, setzt er den document.body.backgroundImage auf das Bild, und wenn der feste Farbe Thema Link gedrückt wird, setzt nur das Hintergrundbild auf „“ (leer), so dass Sie wieder die Farbe sehen . Also, wie kann ich das Thema Nachhaltigkeit, nicht zu ändern, wann immer der Benutzer zu einer anderen Seite geht, als auch wenn sie eine andere Zeit zurück. Danke.

EDIT:. Ich kann entweder PHP oder JavaScript verwenden

War es hilfreich?

Lösung

Wenn Sie alle Javascript verwenden und haben keinen serverseitige Code, mit zu arbeiten, hier ist ein JS Beispiel ein Cookie zu setzen und zu lesen:

Fügen Sie diese Funktion, um Ihre JS, es dann ausgeführt werden, wenn das Thema geändert wird:

function set_theme(name){
  document.cookie='sel_theme='+name+';';
  }//so, run set_theme('whatevername'); when it is set by the user

das Cookie zu lesen und das Thema auf Seite Last eingestellt (mit jQuery oder ähnlichem $ (document) .ready () wäre besser als onload, obwohl, aber hier ist ein gerade js / dom Beispiel)

 window.onload=function(){
var cookie_pos=document.cookie.indexOf('sel_theme=');//locate value in cookie
if(cookie_pos!=-1){//if string was found
  var cookie_flavor=substr(cookie_pos+10,document.cookie.indexOf(';',cookie_pos));//extract the value of the cookie
  /*then run your already existing change theme function using the extracted name*/
  }    

Andere Tipps

Sie kann eine Sitzung verwenden Überblick über die Vorlieben des Benutzers auf dem server zu halten. Wenn der Benutzer kommt wieder auf und hat ein Thema ausgewählt (die Sie aus den Session-Variablen bestimmen können), dann wird der Server HTML liefern, die Background statt einer Farbe gesetzt hat. Wenn die Benutzereinstellungen schaltet können Sie eine Ajax-Anforderung, die die Session-Variablen aktualisiert auszusenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top