发表于: 2017-05-22 23:32:05
1 1094
1、根据师兄指点,看了localStorage和sessionStorage的资料。相对cookie来说,存储空间更大(5M:4k),速度更快(浏览器存储,cookie每次http请求都需要一起发送),另外cookie还需要指定作用域,不可以跨域调用(最典型的案列就是判断注册用户是否已经登陆该网站)。
2、localStorage - 没有时间限制的数据存储,第二天、第二周或下一年之后,数据依然可用(需手动删除代码)。
sessionStorage - 仅在当前浏览器窗口关闭前有效(适用于目前任务,多页面跳转,但是窗口未关闭情况)。
3、接口
sessionStorage.getItem(key):获取指定key本地存储的值
sessionStorage.setItem(key,value):将value存储到key字段
sessionStorage.removeItem(key):删除指定key本地存储的值
sessionStorage.length是sessionStorage的项目数
4、重新将前面页面的URL传参方式修改,发现果然轻松简洁很多,而且连续跳转窗口的数据引用也很简单。
sessionStorage.arr_2 = JSON.stringify(arr);
//需传参页面定义,arr为乱序身份集合。JSON.stringify()函数意思为将对象转换为可存储识别字符串。sessionStorage.arr_2,即将页面内的arr集合转换后定义为arr_2,并使用sessionStorage方法存储。
5、其他页面的解码及引用。
var abc=JSON.parse(sessionStorage.arr_2);
//JSON.parse为解码函数,并将转换后的正常对象,重新赋值给新页面的自定义变量abc。即跨页面传参abc[i]=arr[i]。
6、任务页面完成第一次跳转
x= $("img").index(this); //当前选中的玩家序号,并传递到跳转后的上个页面。
$(".mess:first").show(); //第一天白天游戏结果提示框显示
$(".mess:first").text((x+1)+"号被杀死,他的真实身份是"+abc[x]); //提示框内容
$("p:first").click(function(){location.href=""}) //杀人页面取消跳转,这里使用return false无效?;
$("p").eq(2).click(function(){alert("留下遗言吧!") //第一步,被杀者留言
$("p").eq(3).click(function(){alert("幸存者请发表获奖感言!") //同时激活下一个提示框
$("p").eq(4).click(function(){location.href="./js-round2.5.html" //最后激活跳转投票页面。
})
})
})
7、每次跳转页面,计数还没弄好,明天再好好想想。
var user = {
day:0,
die:x,
};
user.day++;
问题:
1、没有传参情况下,没有声明和定义的变量怎么进行if判断。即不存在这个变量的时候,才对"杀人"按钮进行页面跳转。试了=null,underfind都不行。
2、原来按钮对应的点击函数是跳转链接,后面需要取消跳转,增加了内容为return false点击函数,但是还是会进行跳转。
计划:明天继续任务4,抽时间看书。
评论