2010-08-20 11 views
6

मेरी समझ के लिए जब उपयोगकर्ता अपने ब्राउज़र को बंद करते हैं तो सत्र चर साफ़ हो जाता है। जब कोई उपयोगकर्ता किसी ब्राउज़र में टैब बंद करता है तो सत्र चर को साफ़ करने के लिए वैसे भी है?टैब पर क्लियरिंग सत्र मान

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

उत्तर

2

सत्र चर सर्वर-साइड हैं, और टैब क्लोजिंग क्लाइंट-साइड एक्शन है, इसलिए आपको उन सत्र चर को साफ़ करने के लिए सर्वर को सिग्नल भेजना होगा।

मेरे लिए सबसे स्पष्ट तरीका ब्राउज़र की ऑनबर्ननलोड विधि का उपयोग करना होगा और सत्र को साफ़ करने के लिए सर्वर को अजीब रूप से कुछ भेजना होगा।

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

0

सर्वोत्तम उत्तर के लिए निम्न लिंक देखें: Why Doesn't Closing A Tab Delete A Session Cookie?

आप क्या कर सकते हैं यूआरएल के अंत में कुछ यादृच्छिक पाठ जोड़ना और इसे संदर्भ के लिए स्टोर करना और यदि उपयोगकर्ता नए टैब से आते हैं और इसमें यादृच्छिक पाठ संलग्न नहीं होता है, तो आप अलग-अलग टैब से आने वाले उपयोगकर्ता को निर्धारित कर सकते हैं।

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