页面切换主题风格,利用本地缓存

Posted 不落幕

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面切换主题风格,利用本地缓存相关的知识,希望对你有一定的参考价值。

//默认为黑色主题,全局变量
var saveThemeColor = {
‘Name‘: ‘ThemeColor‘,
‘Color‘: ‘darktheme‘
}

var storage = getLocalStorage();

// 判断用户是否已有自己选择的主题风格
if (storageLoad(‘ThemeColor‘)) {
var themecolor = storageLoad(‘ThemeColor‘).Color;

$(‘body‘).attr(‘class‘,themecolor);

} else {
storageSave(saveThemeColor);
$(‘body‘).attr(‘class‘, ‘darktheme‘);
}


// 本地缓存
function storageSave(obj) {
storage.setItem(obj.Name, JSON.stringify(obj));
}

function storageLoad(objectName) {
if (storage.getItem(objectName)) {
return JSON.parse(storage.getItem(objectName));
} else {
return false;
}
}

//兼容ie本地缓存
function getLocalStorage(){
if(typeof localStorage == ‘object‘){
return localStorage;
}else if (typeof globalStorage == ‘object‘) {
return globalStorage[location.host];
} else {
throw new Error(‘Local storage not available‘);
}
}

//切换主题
$(‘.themeli‘).find(‘span‘).on(‘click‘,function(){

$(‘body‘).attr(‘class‘, $(this).attr(‘data-color‘))

saveThemeColor.Color = $(this).attr(‘data-color‘);
// 保存选择项
storageSave(saveThemeColor);

});

以上是关于页面切换主题风格,利用本地缓存的主要内容,如果未能解决你的问题,请参考以下文章

在本地化页面中删除缓存的问题

架构师必备:本地缓存原理和应用

centos7.5利用yum缓存搭建本地源

我的QQ浏览器不支持缓存了,每次后退都要刷新,怎么解决

缓存方案:本地guavaCache, 远程redis?

利用guava来实现本地的cache缓存