2017-05-17 3 views
1

제 생각에 세션 저장 값은 페이지를 다시로드 한 후에도 유지되어야하며 동일한 탭이 사용되는 한 동일한 사이트의 페이지간에 유지되어야합니다.sessionStorage가 페이지간에 지속되지 않음

특정 페이지에서 2 개의 sessionStorage 값을 설정할 수 있습니다. 그들은 다시로드 할 때 그리고 내가 다른 페이지에서 그 페이지로 돌아올 때까지 지속됩니다.

동일한 사이트의 다른 페이지에서이 값을 선택해야하지만 그럴 수 없습니다. 설명서에 이것이 가능하지 않거나 잘못된 것을하고있는 내용이 누락 되었습니까?

localStorage도 시도했지만 동일한 문제가 있습니다.

my 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

실제로 sessValues ​​기능 코드 (설정하는 경우)를 제공하거나 실제로 데이터를 설정 한 곳에서 코드를 노출 할 수 있습니까? –

+0

보통이 페이지의 코드는 'sessionStorage' 값을 재설정합니다. 왜냐하면 일반적으로 동일한 탭에서 다른 페이지를 열면 sessionStorage 항목을 가져올 수 있기 때문입니다. –

+0

방금 ​​전체 코드 블록을 추가했습니다. – groober

답변

0

죄송합니다. 로컬 테스트에 완전히 몰두했습니다. 서버에서 모두 괜찮아요. 여기에서 프롬프트가 표시됩니다 stackoverflow

관련 문제