发表于: 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>



返回列表 返回列表
评论

    分享到