为了账号安全,请及时绑定邮箱和手机立即绑定

如何将字符串附加到会话存储键?

如何将字符串附加到会话存储键?

偶然的你 2021-05-04 13:18:15
我想将字符串追加到我在下面的代码中尝试过的会话存储中的键上,但是它不起作用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);        }}任何建议,我们将不胜感激...
查看完整描述

2 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

不确定使用localStorage和后会做什么,sessionStorage但是这里是向加上前缀的方法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];

});


查看完整回答
反对 回复 2021-05-27
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

如果我已正确理解,您是否要更改会话存储中某个项目的密钥?


您可以尝试使用下面的代码。


function changeKey(oldKey, newKey) {

    var item = sessionStorage.getItem(oldKey)

    sessionStorage.setItem(newKey, item)

    sessionStorage.removeItem(oldKey)

}

如果要附加字符串,则可以改用以下命令:


function appendToKey(oldKey) {

    var item = sessionStorage.getItem(oldKey)

    oldKey = '1234' + '::' + oldKey

    sessionStorage.setItem(newKey, item)

    sessionStorage.removeItem(oldKey)

}


查看完整回答
反对 回复 2021-05-27
  • 2 回答
  • 0 关注
  • 148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信