欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

本地存储之sessionStorage

程序员文章站 2022-10-04 23:43:30
源码可以到GitHub上下载! sessionStorage: 关闭浏览器再打开将不保存数据 复制标签页会连同sessionStorage数据一同复制 复制链接地址打开网页不会复制seessionStorage内的数据 清除缓存加载当前页对页面无影响 1) 同源策略限制。若想在不同页面之间对同一个s ......
源码可以到github上下载!
sessionstorage:
  关闭浏览器再打开将不保存数据
 
  复制标签页会连同sessionstorage数据一同复制

  复制链接地址打开网页不会复制seessionstorage内的数据
 
  清除缓存加载当前页对页面无影响

    1) 同源策略限制。若想在不同页面之间对同一个sessionstorage进行操作,这些页面必须在同一协议、同一主机名和同一端口下。(ie 8和9存储数据仅基于同一主机名,忽略协议(http和https)和端口号的要求)

    2) 单标签页限制。sessionstorage操作限制在单个标签页中,在此标签页进行同源页面访问都可以共享sessionstorage数据。

    3) 只在本地存储。seesionstorage的数据不会跟随http请求一起发送到服务器,只会在本地生效,并在关闭标签页后清除数据。(若使用chrome的恢复标签页功能,seesionstorage的数据也会恢复)。

    4) 存储方式。seesionstorage的存储方式采用key、value的方式。value的值必须为字符串类型(传入非字符串,也会在存储时转换为字符串。true值会转换为"true")。

    5) 存储上限限制:不同的浏览器存储的上限也不一样,但大多数浏览器把上限限制在5mb以下。

  可访问 测试浏览器的存储上限。
 1         // sessionstorage使用示例
 2         var username = document.getelementbyid("username"); // 获取input username
 3         var userpwd = document.getelementbyid("userpassword"); // 获取input userpassword
 4         var remember = document.getelementbyid("remember"); // 获取记住账号密码
 5         // 点击复选框记住 账号、密码、复选框
 6         function remembervalue() {
 7             if (remember.checked == true) {
 8                 sessionstorage.setitem('user', username.value);
 9                 sessionstorage.setitem('pwd', userpwd.value);
10                 sessionstorage.setitem('remember', remember.checked);
11             } else {
12                 sessionstorage.removeitem("user");
13                 sessionstorage.removeitem("pwd");
14                 sessionstorage.removeitem("remember");
15                 // sessionstorage.clear();// 全部删除
16             }
17         }
18         // 页面加载完毕后从sessionstorage里读取值并填入相应的标签内
19         window.onload = function () {
20             username.value = sessionstorage.getitem("user");
21             userpwd.value = sessionstorage.getitem("pwd");
22             remember.checked = sessionstorage.getitem("remember");
23         }