Сохранить тему сайта в том же духе. - PullRequest
0 голосов
/ 24 октября 2009

Я думаю, что для этого мне понадобится javascript, поэтому я поставил его здесь на переполнение стека. Итак, у меня есть две темы для моего сайта, с той лишь разницей, что одна - это сплошной цвет (фон), а другая - повторяющееся изображение, поэтому я не создавал для них отдельные CSS-файлы. У меня есть две ссылки в панели навигации, которые меняют его (с помощью JavaScript). В файле CSS это сплошной цвет, поэтому, когда страница загружается, она начинается как эта. При щелчке по ссылке темы изображения она устанавливает для изображения document.body.backgroundImage, а когда нажата ссылка на однотонную тему, она просто устанавливает фоновое изображение на «» (пустое), чтобы вы снова могли видеть цвет , Так как я могу сделать тему постоянной, не меняющейся, когда пользователь переходит на другую страницу, а также когда он возвращается в другой раз. Спасибо.

РЕДАКТИРОВАТЬ: я могу использовать либо PHP или JavaScript.

Ответы [ 2 ]

2 голосов
/ 24 октября 2009

Если вы используете весь javascript и не имеете серверного кода для работы, вот пример JS для установки и чтения cookie:

Добавьте эту функцию в JS, затем запустите ее, когда тема будет изменена:

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

Чтобы прочитать cookie и установить тему при загрузке страницы (хотя использование jQuery или аналогичного $ (document) .ready () было бы лучше, чем onload, но вот прямой пример js / dom)

 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*/
  }    
0 голосов
/ 24 октября 2009

Вы можете использовать сеанс для отслеживания предпочтений пользователя на стороне сервера. Когда пользователь возвращается и выбирает тему (которую вы можете определить по переменным сеанса), тогда сервер доставит HTML с установленным backgroundImage вместо сплошного цвета. Когда пользователь переключает настройки, вы можете отправлять ajax-запрос, который обновляет переменные сеанса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...