दिया जाता है मुझे लगता है कि वेब ब्राउज़र में चलाता है एक खेल (एक प्लगइन के रूप में) मिल गया है और मैं क्या करने की कोशिश कर रहा हूँ है:AJAX प्रतिक्रिया जब तक बंद करने से वेब ब्राउज़र की रोकथाम
अगर पता लगाने उपयोगकर्ता जब तक हम अपने वेब सेवाओं के लिए एक कॉल आग लॉग इन करने की है कि उपयोगकर्ता ब्राउज़र
बंद कर दिया है ब्राउज़र बंद करने के (Alt + F4, 'X' बटन आदि से टकराने) को बंद करने से
रोकें ब्राउज़र का फैसला किया है
एक बार हमें वेब सेवाओं से प्रतिक्रिया प्राप्त हो जाने के बाद, लॉक को छोड़ दें और ब्राउजर को अनुरोध के रूप में बंद करने दें।
मुख्य कारण है कि हम ऐसा करना चाहते हैं हम कुछ संगामिति समस्या हो रही है और हमारे लॉग हम लोगों को बाहर/प्रवेश करने वास्तविक मामलों में जहां प्लगइन दुर्घटनाग्रस्त हो गया है से ब्राउज़र बंद को अलग करना चाहते हैं के माध्यम से जा रहे हैं है।
मैं JQuery के साथ ऐसा करने में देखा (एक्स-ब्राउज़र संगतता के लिए - ओपेरा काम करेंगे नहीं, लेकिन हम ओपेरा के ऐसे उपयोगकर्ताओं वैसे भी शुक्र है की जरूरत नहीं है):
$(window).bind('beforeunload', function(e) {
e.preventDefault();
// make AJAX call
});
समस्या यह है कि इस प्रदर्शित करता है उपयोगकर्ता को एक पुष्टिकरण संवाद ('क्या आप वाकई इस पृष्ठ को छोड़ना चाहते हैं') जिसे उपयोगकर्ता AJAX कॉल भेजने से पहले पुष्टि कर सकता है।
तो सवाल यह है कि प्रतिक्रिया प्राप्त होने तक ब्राउज़र को बंद होने से रोकने का कोई तरीका है? पृष्ठ को बदलते समय भी 'पहले से लोड' आग लगती है - क्या वास्तव में बंद होने पर लिंक पर क्लिक करने पर अंतर करने का कोई तरीका है?
किसी भी मदद के लिए आभारी है!
जिज्ञासा से बाहर ... क्या आप "preventDefault" और "AJAX कॉल करें" भागों को स्वैप करते हैं तो कोई अंतर है? – hugomg