lostyazilim
tr.link

Javascript LocalStorage düzenlemesi

4 Mesajlar 525 Okunma
lstbozum
tr.link

cybercyborg cybercyborg WM Aracı Kullanıcı
  • Üyelik 28.09.2016
  • Yaş/Cinsiyet 40 / E
  • Meslek webmaster
  • Konum İstanbul Avrupa
  • Ad Soyad A** H**
  • Mesajlar 151
  • Beğeniler 8 / 7
  • Ticaret 0, (%0)
Elimde şöyle bir kod mevcut;





Şöyle de bir javascript;





<script>

var swapStyleSheet = function (sheet) {

document.getElementById('pagestyle').setAttribute('href', sheet);

storebackground(sheet);

}



var storebackground = function (swapstylesheet) {

localStorage.setItem("sheetKey", swapstylesheet); //you need to give a key and value

}



var loadbackground = function () {

document.getElementById('pagestyle').setAttribute('href', localStorage.getItem('sheetKey'));

}



window.loadbackground();

</script>



Şu şekilde kullanımda sorunsuz şekilde çalışıyor.




CSS değiştiğinde diğer tüm kodlar önce eski css'i gösteriyor sonra yenisi geliyor bunda ise sanki hiç değişmemiş gibi yenisi gözüküyor ancak sorun şu ki bu kodu çalıştırdığımda tema seçene kadar site temasız hale dönüyor. Bunu default olarak nasıl ayalarız ne gibi bir kod eklemeliyiz?
 

 

wmaraci
reklam

emreyvz emreyvz .NET Core & Angular & PHP Kullanıcı
  • Üyelik 19.04.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** Y**
  • Mesajlar 691
  • Beğeniler 110 / 250
  • Ticaret 24, (%100)
Onload event'ında çalıştırılan method' taki localStorege'lı kısmı direkt olarak style2.css ile değiştirmeniz yeterli olur. Site açılır açılmaz localStorage'taki sheetKey boş olduğundan doğal olarak style yüklenmiyor. Alternatif olarak sheetKey property'sine "style2.css" setlenerek de problem çözülebilir.


Çözüm 1:


var loadbackground = function () {

document.getElementById('pagestyle').setAttribute('href', 'style2.css');

}



Çözüm 2: (