문제

이 작업을 수행하려면 JavaScript를 사용해야한다고 생각합니다. 따라서 내 웹 사이트에 대한 두 가지 테마가 있습니다. 유일한 차이점은 하나는 단색 (배경)이고 다른 하나는 반복 된 이미지이므로 별도의 CSS 파일을 만들지 않았다는 것입니다. 내비게이션 막대에 변경되는 두 개의 링크가 있습니다 (JavaScript와 함께). CSS에서는 단색을 파일로 파일로 표시하므로 페이지가로드되면 시작됩니다. 이미지 테마 링크가 클릭되면 document.body.body.body.backgroundimage를 이미지로 설정하고 단색 테마 링크를 누르면 배경 이미지를 "(빈)로 설정하여 색상을 다시 볼 수 있습니다. . 따라서 사용자가 다른 페이지로 갈 때까지 변경하지 않고 다른 시간에 돌아올 때 테마를 지속적으로 만들 수 있습니까? 감사.

편집 : PHP 또는 JavaScript를 사용할 수 있습니다.

도움이 되었습니까?

해결책

모든 JavaScript를 사용하고 있고 작업 할 서버 사이드 코드가없는 경우 쿠키를 설정하고 읽는 JS 예입니다.

이 기능을 JS에 추가 한 다음 테마가 변경되면 실행하십시오.

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

쿠키를 읽고 페이지로드에서 테마를 설정하려면 (jQuery 또는 유사한 $ (Document)를 사용하여 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*/
  }    

다른 팁

세션을 사용하여 서버 사이드에서 사용자의 환경 설정을 추적 할 수 있습니다. 사용자가 다시 켜져 있고 테마를 선택한 경우 (세션 변수에서 결정할 수 있음) 서버는 단색 대신 배경 지식 세트가있는 HTML을 제공합니다. 사용자가 환경 설정을 전환하면 세션 변수를 업데이트하는 AJAX 요청을 보낼 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top