当前位置:   article > 正文

sessionStorage的理解和使用_sessionstorage 的作用范围是基于同一源(origin)

sessionstorage 的作用范围是基于同一源(origin)

Web Storage 包含如下两种机制:

  • sessionStorage 为每一个给定的源(given origin)维持一个独立的存储区域,该存储区域在页面会话期间可用(即只要浏览器处于打开状态,包括页面重新加载和恢复)。
  • localStorage 同样的功能,但是在浏览器关闭,然后重新打开后数据仍然存在。

这两种机制是通过 Window.sessionStorage 和 Window.localStorage 属性使用(更确切的说,在支持的浏览器中 Window 对象实现了 WindowLocalStorage和 WindowSessionStorage 对象并挂在其 localStorage 和 sessionStorage 属性下)—— 调用其中任一对象会创建 Storage 对象,通过 Storage 对象,可以设置、获取和移除数据项。对于每个源(origin)sessionStorage 和 localStorage 使用不同的 Storage 对象——独立运行和控制。

语法

  1. // 保存数据到sessionStorage
  2. sessionStorage.setItem('key', 'value');
  3. // 从sessionStorage获取数据
  4. var data = sessionStorage.getItem('key');
  5. // 从sessionStorage删除保存的数据
  6. sessionStorage.removeItem('key');
  7. // 从sessionStorage删除所有保存的数据
  8. sessionStorage.clear();

返回一个storage对象


  1. <div>
  2. <input type="text" name="" id="field" value="" />
  3. <button id="deleted">deleted</button>
  4. <button id="clear">clear</button>
  5. </div>
  6. <script type="text/javascript">
  7. var clear = document.getElementById("clear");
  8. var deleted = document.getElementById("deleted");
  9. var field =document.getElementById("field");
  10. if (sessionStorage.getItem("autoSave")) {
  11. field.value = sessionStorage.getItem("autoSave");
  12. }
  13. field.addEventListener("change", function() {
  14. // 保存结果到 sessionStorage 对象中
  15. //写两个为了后面对于删除和清除的区别
  16. sessionStorage.setItem("autosave", field.value);
  17. sessionStorage.setItem("autosave1", field.value);
  18. });
  19. clear.οnclick=function(){
  20. sessionStorage.clear();
  21. };
  22. deleted.οnclick=function(){
  23. sessionStorage.removeItem("autosave");
  24. };
  25. </script>


注意点:
1、页面刷新不会消除数据,浏览器或者页面关闭才会清除数据;
2、 sessionStorage不跨窗口,在另外一个窗口打开sessionStorage就不存在了,它只在当前窗口有效;
3、大小不超过5M;
4、不自动发送数据到服务器;
5、使用window.open打开页面和改变localtion.href方式都可以获取到sessionStorage内部的数据


声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号