首页 > 解决方案 > 如何将字符串附加到会话存储密钥?

问题描述

我想将字符串附加到会话存储中的键,我在下面的代码中尝试过,但它不起作用

var setSession = window.sessionStorage.setItem.bind(window.sessionStorage);

window.onload = function()
{
  window.sessionStorage.setItem = function(key, value) {
            var newKey = "1234"+"::"+key;
            alert("inside account new key "+newKey);

            return setSession(newKey, value);
        }

}

任何建议更感激......

标签: javascriptsession

解决方案


不知道你在使用什么localStoragesessionStorage但这里是如何添加前缀,key如果前缀已经存在,就不要再这样做了。此外,它删除了原始密钥:

Object.keys(localStorage).forEach(function(key) {
  if(/^1234::/.test(key)) return; // Don't repeat if "1234::" exists already
  localStorage[`1234::${key}`] = localStorage[key];
  delete localStorage[key];
});

如果前缀1234是一个变量,那么你可以这样做:

let ID_key = '1234';

Object.keys(localStorage).forEach(function(key) {
  if(new RegExp(`^${ID_key}::`).test(key)) return; // Don't repeat if 1234 exists already
  localStorage[`${ID_key}::${key}`] = localStorage[key];
  delete localStorage[key];
});

推荐阅读