2012-06-12 14 views
5

तो, मैंने थोड़ा अजीब मुद्दा चलाया है, और मुझे आशा है कि वहां कुछ आईई savants हैं जो इस व्यवहार पर कुछ प्रकाश डालने में सक्षम हो सकता है। मेरी कंपनी रीयलटाइम लिफ्ट एप्लिकेशन चलाती है। हम लिफ्ट के साथ मानक के रूप में ब्राउज़र और सर्वर के बीच रीयलटाइम संचार के लिए धूमकेतु मॉडल का उपयोग करते हैं। नोटिंग के लायक भी: यदि धूमकेतु सर्वर के साथ सिंक हो जाते हैं (या तो कनेक्शन समस्याओं या सर्वर पुनरारंभ की वजह से, सर्वर पर सत्र को मारने वाली कोई भी चीज़) सर्वर उस धूमकेतु अनुरोध को document.location.reload(); के साथ पुनः लोड करने के लिए प्रतिक्रिया देता है पेज, एक नया सत्र शुरू करें, और इसी तरह।आईई 302 प्राप्त होने के बाद जेएस को निष्पादित करना जारी रखता है?

अब यह सुनिश्चित करने के लिए कि लॉगआउट होने के साथ-साथ हमारे पास एक विशेष यूआरएल (/ सत्र/लॉगआउट) है जो सभी सत्र से संबंधित सफाई करता है, फिर आपको हमारे होमपेज पर वापस लाता है। यह या तो उस यूआरएल में एंकर पर क्लिक करके ट्रिगर किया जा सकता है या सर्वर आपको उस यूआरएल पर 302 जारी कर सकता है यदि आप ऐसा कुछ करने का प्रयास करते हैं जिसके लिए आपको लॉग आउट करना होगा। काफी सरल, सही? सबसे ब्राउज़रों में इस महान काम करता है कार्यप्रवाह कुछ इस तरह दिखता है क्योंकि:

  1. उपयोगकर्ता या तो प्रस्थान करें बटन पर क्लिक करता है या सर्वर को भेजता है एक 302/सत्र/प्रस्थान करना
  2. वर्तमान पृष्ठ पर
  3. Javascript क्रियान्वयन बंद हो जाता है, तो सभी धूमकेतु बंद हो गए।
  4. ब्राउज़र लोड/सत्र/लॉगआउट
  5. उपयोगकर्ता को होमपेज पर उपयोगकर्ता को लात मारने के लिए सर्वर से 302 संदेश प्राप्त होता है (सत्र क्लीनअप को इंगित करता है)।
  6. ब्राउज़र लोड होमपेज।

हालांकि, IE में हम निम्न व्यवहार देख रहे हैं:

  1. उपयोगकर्ता या तो प्रस्थान करें बटन पर क्लिक करता है या सर्वर को भेजता है एक 302/सत्र/प्रस्थान करना
  2. ब्राउज़र लोड हो रहा है शुरू होता है/सत्र/लॉगआउट
  3. ब्राउज़र को उपयोगकर्ता से मुखपृष्ठ पर लात मारने के लिए सर्वर से 302 संदेश प्राप्त हुआ (सत्र क्लीनअप को इंगित किया गया है)।
  4. ब्राउज़र मुखपृष्ठ लोड करना शुरू करता है।
  5. धूमकेतु सर्वर से एक document.location.reload(); प्राप्त क्योंकि वे कर रहे थे कभी नहीं आईई द्वारा बंद कर दिया, होमपेज की लोडिंग निरस्त किया गया है, और वर्तमान पृष्ठ में लॉग इन उपयोगकर्ता के बिना पुनः लोड है।

इसका कारण यह है पूरी तरह से अवांछनीय है हमें लोड करने के लिए/सत्र/लॉगआउट के सही परिणाम की आवश्यकता है - विशेष रूप से ऐसी परिस्थितियों में जहां उपयोगकर्ता कुछ ऐसा करने का प्रयास कर रहा था, जब वे लॉग इन किए गए थे (उस स्थिति में 302 लॉगआउट से वापस आएगा जहां भी वे मूल रूप से जाने की कोशिश कर रहे थे)।

क्या कोई इस तरह के मुद्दे के खिलाफ आगे बढ़ता है? इस मुद्दे से निपटने के बारे में कोई सलाह?

+0

आईई का कौन सा संस्करण? मानक मोड या नहीं? – joshp

+0

आईई 8 और आईई 9, मानक मानकों में चल रहे दोनों, इस व्यवहार को प्रदर्शित करते हैं। –

उत्तर

0

मुझे धूमकेतु के बारे में कुछ भी पता नहीं है, लेकिन आपको धूमकेतु को बंद करने में अधिक स्पष्ट होना चाहिए।

मैं खिड़की को कैप्चर करने की सलाह दूंगा। इस समस्या को करने के लिए ब्राउज़र पर भरोसा करने के बजाय स्पष्ट रूप से धूमकेतु को बंद करना।

+0

दुर्भाग्य से, यह काम नहीं करता है।ऐसा प्रतीत होता है क्योंकि आईई ने फैसला किया है कि यह वास्तव में किसी दूसरे पृष्ठ पर नहीं जाना चाहता है, पहले से पहले लोड नहीं किया जा रहा है और मैं अभी भी पुनः लोड व्यवहार देख रहा हूं। :( –

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