window.localStorage
Web Storage实际上由两部分组成:sessionStorage与localStorage。
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。
localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
方法:
getAttribute() 获取指定的属性值。
load(object) 从 userData 存储区载入存储的对象数据。
removeAttribute() 移除对象的指定属性。
save(object) 将对象数据存储到一个 userData 存储区。
setAttribute() 设置指定的属性值。
localStorage:
方法:
localStorage.getItem(key):获取指定key本地存储的值
localStorage.setItem(key,value):将value存储到key字段
localStorage.removeItem(key):删除指定key本地存储的值
代码区:
知识点:window.localStorage.setItem 可用于将上一个页面的数据传送到下一个页面
App.controller('propModify',["$scope","propSer",function($scope,propSer){
'use strict';
//用于缓冲,为true的时候正在获取数据
$scope.isShow= true;
//将上个页面的参数带到下个页面.(window.localStorage.setItem("currentjobname",name);)
$scope.currentJobName= window.localStorage.getItem("currentjobname");
//获取后台数据(数据公共部分)
$scope.getJobCommonConfig= function(){
var param = "job":$scope.currentJobName
};
propSer.getJobCommonConfig(param,function(response){
if(response.errorCode == '000000'){
$scope.data = response.data;
if(response.data.isdisabled == 'true'){
response.data.isdisabled = true
}else{
response.data.isdisabled = false
}
}
});
//调用函数
$scope.getJobCommonConfig();
//获取后台数据
$scope.getJobTailorConfig= function(){
var param = "job":$scope.currentJobName
};
propSer.getJobTailorConfig(param,function(response){
if(response.errorCode == '000000'){
$scope.tailordata = response.data;
if(response.data.isdisabled == 'true'){
response.data.isdisabled = true
}else{
response.data.isdisabled = false
}
}
});
$scope.getJobTailorConfig();
//获取到数据后,isShow的值为false,取消缓冲,显示页面
$scope.isShow = false;
//在页面修改参数,set的function不用主动调用,是在html里面ng-submit绑定,点击按钮后调用
$scope.setJobSHPropConfig = function(){
var param = {
"job" : $scope.currentJobName,
"isdisabled" : $scope.data.isdisabled,
"minute" : $scope.data.minute,
"hour" : $scope.data.hour,
"dbf" : $scope.tailordata.dbf,
"workspace" : $scope.tailordata.workspace
};
propSer.setJobSHPropConfig(param,function(response){
$scope.data = response.data;
if(response.errorCode == "000000"){
//弹出提示框,保存成功提示;swal提示框比alert观赏性更好,使用更灵活
swal({title:"保存成功",
type:"success",
showCancelButton:false,
closeOneConfirm:false
},
function(){
window.location.reload();
});
}else{
//保存失败提示
swal({title:"保存成功",
type:"success",
showCancelButton:false,
closeOneConfirm:false
},
function(){
window.location.reload();
});
}
});
};
}]);
知识点:
App.controller('autoTaskController',['$scope','taskSer',
function($scope,taskSer){
'use strict';
//ajax请求后台,获取营销管理列表
$scope.getFundTasks = function(){
var param={
"fund" : "基金"
};
taskSer.getFundTasks(param,function(response){
//在获取的ajax对象上多加一个字段
for(var i in response.data.taskdetail){
if(response.data.taskdetail[i].name.indexOf("官网")>-1){
response.data.taskdetail[i].url="#/app/auto/sseweb_list"
}else if(response.data.taskdetail[i].name.indexOf("股票")>-1){
response.data.taskdetail[i].url="#/app/auto/etfput_list"
}else if(response.data.taskdetail[i].name.indexOf("现金")>-1){
response.data.taskdetail[i].url="#/app/auto/shanghai_list"
}
}
$scope.homeList=response.data.taskdetail;
$scope.$apply();
});
};
$scope.getFundTasks();
$scope.getCurrentJobName = function(name,url){
window.location.href=url;
window.localStorage.removeItem("currentjobname"); //清理缓存
window.localStorage.setItem("currentjobname",name);
}
}
])
以下是网上看到的一段比较好的代码:设置缓存-----读取缓存------删除缓存
_history : {
//缓存
isLocalStorage:window.localStorage?
true
:
false
,
set :
function
(key,value){
//设置缓存
if
(
this
.isLocalStorage){
window.localStorage.setItem(key,value);
}
else
{
var
expireDays = 365;
//失效时间
var
exDate=
new
Date();
exDate.setTime(exDate.getTime()+expireDays*24*60*60*1000);
document.cookie=key +
"="
+ escape(value)+
";expires="
+ exDate.toGMTString();
}
},
read :
function
(key){
//读取缓存
if
(
this
.isLocalStorage){
return
window.localStorage.getItem(key);
}
else
{
var
arr,reg=
new
RegExp(
"(^| )"
+key+
"=([^;]*)(;|$)"
);
if
(arr=document.cookie.match(reg)){
return
unescape(arr[2]);
}
else
{
return
null
;
}
}
},
del :
function
(key){
//删除缓存
if
(
this
.isLocalStorage){
localStorage.removeItem(key);
}
else
{
var
exDate =
new
Date();
exDate.setTime(exDate.getTime() - 1);
var
read_val=
this
.read(key);
if
(read_val!=
null
) document.cookie= key +
"="
+read_val+
";expires="
+exDate.toGMTString();
}
}
},