मैं एक ऑनलाइन संपादक पर एक ऑटोसेव सुविधा का उपयोग कर रहा हूं।लॉगआउट पर "अनलोड" ईवेंट और AJAX कॉल के साथ स्वत: सहेजना: क्रियाओं का क्रम एक समस्या उत्पन्न कर रहा है
जब कोई उपयोगकर्ता पृष्ठ छोड़ देता है (unload
या beforeunload
ईवेंट के साथ पता चला), तो मैं डेटा को सहेजने के लिए AJAX अनुरोध (async = false) भेज रहा हूं।
मैं क्योंकि घटनाओं की है कि सेरी हो रहा है क्रोम में कभी कभी फ़ायरफ़ॉक्स एट में एक समस्या है:
- गतिविधि सक्रिय
- अनुरोध भेजने
- पेज परिवर्तन और उपयोगकर्ता के कट जाने
- अनुरोध सर्वर => समस्या का विश्लेषण!
- अनुरोध प्रतिक्रिया ब्राउज़र
द्वारा प्राप्त के बाद से उपयोगकर्ता डिस्कनेक्ट किया गया है "बचाने" अनुरोध संभाला नहीं जा सकता।
क्या पृष्ठ वास्तव में बदलने से पहले AJAX कॉल की प्रतिक्रिया के लिए सभी ब्राउज़रों के साथ संगत है, क्या कोई तरीका है?
+1 "नंबर" के रूप में +1 यहां सब कुछ कहना है;) – naugtur
+1 - उपर्युक्त के अतिरिक्त, आपका संदेश उपयोगकर्ता को सहेजे गए परिवर्तनों के बारे में चेतावनी दे सकता है और उन्हें पृष्ठ पर रहने का अवसर प्रदान कर सकता है और स्वयं को सहेजने पर क्लिक कर सकता है। पृष्ठ अनलोड पर AJAX सिंक या async के लिए कोई गारंटीकृत तरीका नहीं है। कुछ ब्राउज़र्स, कुछ "सर्वश्रेष्ठ प्रयास" करेंगे, कुछ ब्राउज़र प्रक्रिया को बंद करते समय ब्राउज़र विंडो को समाप्त कर देंगे (किसी भी चीज़ के लिए कोई मौका नहीं)। – BenSwayne