2016-06-28 17 views
8

हमारे पास एक कोणीय अनुप्रयोग (एसपीए) है जो क्लाइंट साइड उपयोगकर्ता सत्र (सत्र समय समाप्ति, निष्क्रियता अवधि, आदि) को बनाए रखता है। सत्र का उपयोग किसी कारण से सत्र समाप्त होने पर उपयोगकर्ता को पुनः लॉगिन करने के लिए मजबूर करने के लिए किया जाता है।फ़ायरफ़ॉक्स पृष्ठ को सही ढंग से अपडेट नहीं करता है जब सक्रिय नहीं होता है

सत्र की समाप्ति एक समर्पित सेवा द्वारा नियंत्रित होती है, जो सत्र समाप्त होने, लॉक या अन्यथा राज्य को बदलते समय $ रूटस्कोप पर एक ईवेंट प्रसारित करता है।

हम श्रोताओं को उन सत्र राज्य परिवर्तन घटनाओं में जोड़ते हैं जो प्रासंगिक पृष्ठ पर रूटिंग बदलते हैं (लॉगिन पृष्ठ, पृष्ठ अनलॉक आदि)। हम मार्ग के लिए कोणीय-यूई-राउटर का उपयोग कर रहे हैं।

यह ठीक काम करता है, हालांकि, विशेष रूप से फ़ायरफ़ॉक्स में, यदि ब्राउज़र स्थिति/ब्राउज़र सक्रिय नहीं है (यानी पृष्ठभूमि में, आदि में सक्रिय नहीं होता है), तो पृष्ठ ठीक से रीफ्रेश नहीं किया जाता है। दूसरे शब्दों में, आप नए पेज (जैसे उपयोगकर्ता नाम टेक्स्ट फ़ील्ड और पासवर्ड फ़ील्ड) के नियंत्रण देख सकते हैं, लेकिन नए पेज की पृष्ठभूमि को देखने के बजाय, आप पुराने को देखते हैं।

यह क्रोम और आईई में पूरी तरह से काम करता है, हम केवल फ़ायरफ़ॉक्स पर यह समस्या देखते हैं। इसके अलावा, जब ब्राउज़र विंडो/टैब सक्रिय होता है, तो यह फ़ायरफ़ॉक्स पर पूरी तरह से काम करता है।

कोई विचार?

उत्तर

1

इसे दूसरी तरफ रहने दो। रूटस्कोप प्रसारण का उपयोग न करें, बस वर्तमान स्थिति के साथ अपनी सेवा में एक var ले लो, और इस मान के साथ फ़ंक्शन को वापस करें।

var userSession = 'Expired'; 

return { 
    getSessionState: function() { 
     return userSession; 
    } 
} 

और इसे अपने नियंत्रकों में देखें। तो पहला पाचन रन दृश्य को उस समय स्विच कर देगा जिसकी आपको आवश्यकता है।

$scope.$watch(function() { 
    return yourServiceName.getSessionState() 
}, function (val) { 
    //you can check the val here and change the route 
}); 

यदि यह मदद नहीं, यह सुनिश्चित करें कि आप $ टाइमआउट (Angulars देशी टाइमआउट डाइजेस्ट का प्रयोग करके) और कोई किसी भी सेट टाइमआउट (जे एस समय समाप्ति जब ब्राउज़र विंडो/टैब सक्रिय नहीं है और आग से सब पर रोका जाता है का उपयोग करें एक बार जब टैब फिर से ध्यान में है, तो कोणीय में अजीब व्यवहार के साथ क्या हो सकता है)।

संबंधित मुद्दे