سؤال

وأعتقد أنني سوف تحتاج إلى استخدام جافا سكريبت للقيام بذلك حتى أضع هنا على تجاوز المكدس. لذلك، لا بد لي موضوعين لموقع الويب الخاص بي، والفرق الوحيد هو أن واحد هو بلون واحد (خلفية)، والأخرى صورة المتكررة، لذلك لم أكن جعل الملفات المغلق منفصلة لهم. لقد اثنين من الروابط في شريط التنقل التي تغييره (مع جافا سكريبت). في المغلق ملفها اللون الصلبة، لذلك أي وقت مضى عندما يتم تحميل الصفحة يبدأ بها هذا النحو. عند النقر على رابط الصورة موضوع، يقوم بتعيين document.body.backgroundImage إلى الصورة، وعندما يتم الضغط على الرابط لون موضوع الصلب هو فقط يضع صورة خلفية إلى "" (فارغة)، بحيث يمكنك رؤية لون جديد . فكيف يمكنني أن أجعل موضوع مستمر، وليس تغيير أي وقت مضى عندما يذهب المستخدم إلى صفحة أخرى، وكذلك عند عودتهم مرة أخرى. شكرا.

وتحرير: I يمكن استخدام إما PHP أو جافا سكريبت

هل كانت مفيدة؟

المحلول

إذا كنت تستخدم كل جافا سكريبت وليس لديهم أي رمز جانب الخادم للعمل مع، وهنا مثال JS تعيين وقراءة الكعكة:

وإضافة هذه الوظيفة لJS، ثم تشغيله عند تغيير موضوع:

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

لقراءة ملف تعريف الارتباط وتعيين موضوع على تحميل الصفحة (باستخدام مسج أو $ مماثل (وثيقة) .ready () سيكون أفضل من ONLOAD، على الرغم من، ولكن وهنا شبيبة مستقيم / المثال 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 الذي backgroundImage وضع بدلا من بلون واحد. عندما تبديل المستخدم التفضيلات التي يمكن أن ترسل طلب اياكس يقوم بتحديث متغيرات الدورة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top