3

我有兩頁,例如pageA和pageB。通過鐵路路由器導航到另一個頁面後,流星會話在IE 9中得到重置

在pageA的,我在會議

設定值
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 

我可以看到會議(Student對象)已正確設置。

在頁面B點擊事件,

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

出於某種原因,該會議已在IE 9這個問題只發生在IE 9,而不是在IE 10/11,Chrome瀏覽器,Safari瀏覽器復位。

我注意到在IE 9中。每當我們使用Router.go('pageB');導航到頁面時,頁面(例如pageB)似乎已被重新加載。有關係嗎?

在此先感謝。

傑克

+0

我遇到了同樣的問題 - 您是否找到解決方案? – 2014-10-18 10:02:49

+0

@RacingTadpole,不幸的是,我沒有。這可能是一個鐵路路由器的問題。 – 2014-10-20 00:16:17

+0

@RacingTadpole順便說一句,我正在使用HTML5'sessionStorage'作爲解決方法。 – 2014-10-20 00:18:05

回答

1

事實證明,IE8和IE9沒有pushState,所以用這些瀏覽器更改URL時,鐵路由器不需要維護變量。

有關於github here的問題和可能的解決方法的討論。

看來最全面的解決方案是將HTML5-History-API添加到您的項目;根據上面的鏈接,它應該都可以工作(儘管我自己沒有嘗試過)。

或者,如您所見,您可以使用sessionStorage在單個會話中保存刷新之間的信息。

+0

感謝您對此進行調查。 – 2014-10-20 01:23:25

相關問題