3

두 페이지, 예를 들어 pageA와 pageB가 있습니다.Iron-router를 통해 다른 페이지로 이동 한 후 IE 9에서 Meteor Session이 재설정됩니다.

는 페이지 A에서 I는 I 세션 (학생 객체)을 볼 수있는 세션에

var student = { 
    studentNumber: 'ABCDEF' 
} 
Session.set('student', student); 
var s = Session.get('student'); // returns an Object 
console.log(s); 
Router.go('pageB'); // navigate to pageB 

발 An 값을 설정 올바르게 설정되어있다. 페이지 B에 클릭 된 이벤트에서

, 어떤 이유

var student = Session.get('student'); 
if (typeof student === 'undefined') { 
    console.log('student object is undefined'); 
    return; 
} 

이 세션은하지 IE 10/11, 크롬, 사파리에서 IE이 문제는 IE 9 일 9 리셋되었습니다.

IE 9에서 확인합니다. Router.go('pageB');을 사용하면 페이지 (예 : pageB)가 다시로드 될 것입니다. 그게 그렇게 중요한 건가?

미리 감사드립니다.

제이크

+0

동일한 문제가 있습니다. 해결책을 찾았습니까? –

+0

@RacingTadpole, 불행히도, 나는하지 않았다. Iron-router의 문제 일 수 있습니다. –

+0

@RacingTadpole BTW, HTML5'sessionStorage'를 사용하고 있습니다. –

답변

1

그것은이 브라우저에 URL을 변경할 때 철 라우터는 변수를 유지하지 않도록 IE8 및 IE9는, pushState이없는 것으로 나타났다.

github here에 대한 문제 및 가능한 해결 방법에 대한 설명이 있습니다.

가장 포괄적 인 해결책은 프로젝트에 HTML5-History-API을 추가하는 것입니다. 위의 링크에 따르면, 그것은 모두 작동해야합니다 (비록 내가 직접 시도하지 않았 음).

또는 찾은 것처럼 sessionStorage을 사용하여 단일 세션에서 새로 고침간에 정보를 저장할 수 있습니다.

+0

조사 해 주셔서 감사합니다. –

관련 문제