sessionStorage不在页面之间保持不变

时间:2017-05-17 11:51:22

标签: javascript html5 sessionstorage

我的理解是sessionStorage值应该在页面重新加载后保留,但是在同一站点中的页面之间也是如此,只要使用相同的选项卡。

在特定页面中,我可以设置2个sessionStorage值。当我从另一个页面回到那个页面时,它们会继续重新加载。

我需要在同一网站的另一个页面上获取这些值,但我不能。 我在文档中遗漏了哪些内容表明这是不可能的,或者我做错了什么?

我也试过localStorage但同样的问题。

鉴于设置了我的2个sessionStorage值的场景,我使用以下if语句测试它们,但它永远不会到达它。我也尝试将每个登录到控制台,但没有运气。

感谢。

if (Modernizr.sessionstorage) {
var
a = document.getElementById('aId'),
b = document.getElementById('bId'),
c = document.getElementById('cId'),
d = document.getElementById('dId'),
e = document.getElementById('eId'),
f = parseInt(b.value)*parseInt(d.value)+4;

var startValues = function (){
a.value = b.value;
c.value = d.value;
e.value = f;
};

var sessValues = function (){
b.value = sessionStorage.getItem('thingOne');
d.value = sessionStorage.getItem('thingTwo');
startValues();
};


if(sessionStorage.getItem('thingOne') !== null || sessionStorage.getItem('thingTwo') !== null){
   sessValues();
}

else{
    sessionStorage.setItem('thingOne', 1);
    sessionStorage.setItem('thingTwo', 1);
    startValues();
}


b.addEventListener('input', function () {
sessionStorage.setItem('thingOne', b.value);
a.value = b.value;
}, false);

d.addEventListener('input', function () {
sessionStorage.setItem('thingTwo', d.value);
c.value = d.value;
}, false);

}

1 个答案:

答案 0 :(得分:0)

道歉。完全陷入本地测试。在服务器上都很好。从这里得到提示stackoverflow