2014-04-17 4 views

답변

3

Meteor.Session은 클라이언트 측에만 있습니다. 애플리케이션의 JavaScript 전역 객체입니다. 페이지를 새로 고침하면 삭제됩니다. 세션은 클라이언트 측 로컬 저장소 인 https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage에 저장됩니다. Meteor는 세션에 쿠키를 사용하지 않습니다 (https://www.meteor.com/blog/2014/03/14/session-cookies).

당신이 성취하려는 것을 더 설명해야합니다. Meteor.Session은 페이지가로드되고 많은 것들을로드하지 않고 초기 상태를 얻기 위해 URL에 초기 상태를 설정하는 데 필요한 충분한 정보가 들어 있습니다.

유성을 사용하면 브라우저를 새로 고침하지 않는 것이 이상적입니다. AJAX 및 HTML5 푸시 상태가 이상적이며 유성의 반응성이 모두 발생하거나 발생해야합니다.

해당 문서를 읽어야합니다. 세션에 대한 섹션은 다음과 같습니다. http://docs.meteor.com/#session

0

이 질문은 오래된 질문이지만, 동일한 것을 필요로한다는 것을 알았 기 때문에 여기에 제가 한 것입니다. 나는 세션을 확장하여 실제로 값을 설정할 때 localstorage에 저장하고 페이지가로드 될 때 세션에 localstorage를로드합니다.

// improving the session package to persist it to the localstorage 
Session._set = Session.set; 
Session.set = function(key,value) { 
    Session._set(key,value); 
    localStorage.setItem(key,JSON.stringify(value)); 
}; 


// helper function 
function isJSON(str) { 
    try { 
     return (JSON.parse(str) && !!str); 
    } catch (e) { 
     return false; 
    } 
} 

// loading the localstorate on load 
for (var i = 0; i < localStorage.length; i++) { 
    var key = localStorage.key(i); 
    var value = localStorage.getItem(key); 
    Session._set(key,isJSON(value) ? JSON.parse(value) : value); 
}