[关闭]
@Wangww0925 2020-06-18T05:33:07.000000Z 字数 1488 阅读 228

sessionStorage

js-存储


sessionStorage(长期存储): 关闭浏览器及关闭


  1. /**
  2. * 保存数据到本地
  3. * 参数
  4. name sessionStorage的名称
  5. data 存储数据
  6. isTrue true-同页面可以监听,false-同页面无法监听
  7. */
  8. function setSessionStorage(name,data,isTrue){
  9. if(isTrue){
  10. var orignalSetItem = window.sessionStorage.setItem;
  11. window.sessionStorage.setItem = function(key,newValue){
  12. var setItemEvent = new Event("setItemEvent");
  13. setItemEvent.newValue = newValue;
  14. setItemEvent.key = key;
  15. window.dispatchEvent(setItemEvent);
  16. orignalSetItem.apply(this,arguments);
  17. }
  18. }
  19. window.sessionStorage.setItem(name, data);
  20. }
  21. /**
  22. * 从本地存储获取数据
  23. * 参数
  24. name sessionStorage的名称
  25. */
  26. function getSessionStorage(name){
  27. var getValue = sessionStorage.getItem(name);
  28. return getValue
  29. }
  30. /**
  31. * 本地存储中删除某个保存的数据
  32. * 参数
  33. name sessionStorage的名称
  34. */
  35. function delSessionStorage(name){
  36. window.sessionStorage.removeItem(name);
  37. }
  38. // 清空sessionStorage
  39. function clearSessionStorage(){
  40. window.sessionStorage.clear();
  41. }
  42. /**
  43. * 监听sessionStorage的变化
  44. * 参数
  45. callback 回调
  46. isTrue true-监听当前页面,false-监听其他页面
  47. */
  48. function listenSessionStorage(callback,isTrue){
  49. if (!sessionStorage.length) {
  50. // 这个调用能触发目标事件,从而达到共享数据的目的
  51. localStorage.setItem('getSessionStorage', Date.now());
  52. };
  53. if(isTrue){
  54. window.addEventListener("setItemEvent", function (e) {
  55. // console.log(e);
  56. // console.log('key', e.key);
  57. // console.log('oldValue', e.oldValue);
  58. // console.log('newValue', e.newValue);
  59. // console.log('url', e.url);
  60. callback(e)
  61. });
  62. }else{
  63. window.addEventListener("storage", function (e) {
  64. // console.log('key', e.key);
  65. // console.log('oldValue', e.oldValue);
  66. // console.log('newValue', e.newValue);
  67. // console.log('url', e.url);
  68. callback(e)
  69. })
  70. }
  71. }

作者 wendy
2019 年 5月 23日


参考文献

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注