发表于: 2017-01-16 23:58:05
0 1313
今天完成的事:今天学会了本地储存的一些其他知识,以及保存JS动态内容保存的一些知识。
明天计划的事:完善前两天写的代码,继续学习ajax相关知识。
遇到的问题:关于页面JS动态记载内容,返回时候不能保存,自己尝试着去实现,但是都没有好的办法。
网上找了些资料,目前已经找到一种还算可以的办法,还在测试中。
收货:
通过今天的学习:
1、对JSON数据序列化进行了更系统复习,其中的代码有,巧妙运用数据重复的技巧。
var obj={
x:1,
y:2,
o:{
o1:1,
o2:2;
toJSON:function(){
return this.o1+this.o2;
}
}
};
JSON.stringify(obj);//"{"x":1,"y":2,"o":3}"
//-------------
var arr=[1,2,3]
arr.join();//"1,2,3" 数组转为字符串
function repeatSting(str,n) {
return new Array(n+1).join(str); //巧妙运用join重复字符串
}
repeatSting("a",3);//"aaa"
2、对本次JS加载的内容,进行复原。学习了相关的知识,小demo有
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>页面回退如何保留js动态生成内容</title>
</head>
<body>
<input type="button" id="ui" value="添加当前时间到页面" onclick="setBody()"/><br />
<input type="button" value="添加ABC到页面" onclick="setBody('abc')"/><br />
<a href="2.html">2.html</a>
<script>
var ui=document.getElementById('ui')
function setBody() {
ui.setAttribute("style","color:red")
}
var ff = navigator.userAgent.indexOf('Firefox') != -1;
function setBody(html) {
document.body.innerHTML += '<br>' + (html || new Date().toLocaleString());
var hk = html ? ',abc,' : ',date,';
if (location.hash.indexOf(hk) == -1) location.hash += hk;
}
if (!ff) {
var hash = location.hash;
if (hash.indexOf('date') != -1)
setBody();
if (hash.indexOf('abc') != -1)
setBody('abc');
}
</script>
</body>
</html>
评论