एक वेब ऐप में मैं काम कर रहा हूं, मैं उपयोगकर्ता से पूछने के लिए पहले से लोड कर रहा हूं कि वह वास्तव में बाहर निकलना चाहता है।यह पता लगाने के बाद कि उपयोगकर्ता आगे बढ़ने के बाद रुक गया है
अब, यदि वह रहने का फैसला करता है, तो ऐसी कई चीजें हैं जिन्हें मैं करना चाहता हूं। जो मैं समझने की कोशिश कर रहा हूं वह यह है कि उसने वास्तव में रहने का फैसला किया।
मैं निश्चित रूप से "एक्स" सेकंड के लिए सेटटाइमआउट घोषित कर सकता हूं, और अगर वह आग लगती है, तो इसका मतलब यह होगा कि उपयोगकर्ता अभी भी वहां है (क्योंकि हमें अनलोड नहीं किया गया था)। समस्या यह है कि उपयोगकर्ता यह तय करने के लिए किसी भी समय ले सकता है कि क्या रहना है या नहीं ...
मैं पहली बार उम्मीद कर रहा था कि संवाद दिखा रहा था, तो सेटटाइमआउट कॉल आग नहीं होगी, इसलिए मैं एक छोटा सा समय निर्धारित कर सकता था समय और यह केवल आग लग जाएगा अगर उपयोगकर्ता रहने के लिए चुना। हालांकि, टाइमआउट डायल करते समय आग लगती है, इसलिए यह काम नहीं करता है।
मैंने कोशिश की एक और विचार खिड़की/दस्तावेज़ पर माउसमोव को कैप्चर कर रहा है। जबकि संवाद दिखाया गया है, माउसमोव वास्तव में आग नहीं लगाते हैं, एक अजीब अपवाद को छोड़कर जो वास्तव में मेरे मामले पर लागू होता है, ताकि वह काम न करे।
क्या कोई ऐसा करने के अन्य तरीके के बारे में सोच सकता है?
धन्यवाद!
(मामले आप उत्सुक हैं में, कारण कब्जा MouseMove काम नहीं करता है कि मैं अपने पेज में एक IFrame है, किसी अन्य डोमेन की एक साइट युक्त है। पेज उतारने के समय में हैं, फोकस आईफ्रेम के भीतर है, जबकि संवाद दिखाता है, तो माउस को IFrame के अंदर से बाहर ले जाने पर माउसमोव इवेंट फायरिंग मिल जाता है (कम से कम फ़ायरफ़ॉक्स में)। शायद यह एक बग है, लेकिन फिर भी, यह बहुत संभावना है कि ' हमारे मामले में होगा, इसलिए मैं इस विधि का उपयोग नहीं कर सकता)।
आप महोदय, मेरे नायक हैं। – Pascal
मदद की खुशी है? –
कोड ठीक है। यदि उपयोगकर्ता "इस पृष्ठ को छोड़ें" पॉप बटन पर क्लिक करता है तो मैं लॉगआउट() फ़ंक्शन चलाने के लिए चाहता हूं। लेकिन मैं कैसे पता लगा सकता हूं कि उपयोगकर्ता ने "इस पृष्ठ को छोड़ दें" पर क्लिक किया है या नहीं? –