2015-05-22 7 views
5

हम अपने उपयोगकर्ताओं की गतिविधि पर कुछ गहन डेटा प्राप्त करने की कोशिश कर रहे हैं, इसलिए हम खुद को एक पुस्तकालय बना रहे हैं, जो उपयोगकर्ताओं को दिए गए पृष्ठ पर खर्च करने वाले समय लॉग करता है। हम TimeMe लाइब्रेरी का उपयोग कर समय माप रहे हैं।जावास्क्रिप्ट के साथ मोबाइल ब्राउज़र (एंड्रॉइड क्रोम) बंद करने का पता लगाने के लिए कैसे?

  1. पेज: पहले-अनलोड दस्तावेज़ पर हम केवल एक बार, जब उपयोगकर्ता परिवर्तन पृष्ठ, टैब, करीब ब्राउज़र आदि छोड़ने

    वर्तमान में हम दो घटनाओं सुन रहे हैं हमारे सर्वर से measurments भेजने की कोशिश कर रहे हैं (क्योंकि रेलों 'turbolinks का) खिड़की पर

  2. beforeunload (अन्य मामलों)

यह डेस्कटॉप ब्राउज़र पर बस ठीक काम करता है। हालांकि इन श्रोताओं को कुछ घटनाएं नहीं मिलेंगी। उदाहरण के लिए यदि हम मोबाइल ब्राउज़र (एंड्रॉइड क्रोम) पर साइट पर जाते हैं और फिर इस ब्राउज़र को बंद करते हैं, तो ये श्रोताओं को आग नहीं लगेगी।

मेरा सवाल है, हम इसे कैसे ठीक कर सकते हैं? मोबाइल ब्राउज़र किस घटना को बंद कर रहा है, जब वे बंद हो रहे हैं?

आपकी सलाह के लिए धन्यवाद।

+0

आप सर्वर साइड कोड जो और अधिक जटिल ... मुझे नहीं लगता कि जावास्क्रिप्ट के माध्यम से पता लगाने के लिए एक विश्वसनीय तरीका है हो सकता है पर विचार करना चाहते हो सकता है। – brso05

+0

'window.addEventListener ("preunload", unloadHandler) के माध्यम से ईवेंट हैंडलर जोड़ने का प्रयास करें;' जहां 'unloadHandler' एक ऐसा फ़ंक्शन है जो ईवेंट ऑब्जेक्ट को पहले तर्क के रूप में प्राप्त करता है। – marekful

+0

@marekful नहीं, मदद नहीं करता है। – piko

उत्तर

0

आप जावास्क्रिप्ट द्वारा ब्राउज़र को बंद करने का कभी भी पता नहीं लगा सकते हैं, जावास्क्रिप्ट एक गतिशील टाइप की गई भाषा है और यह निष्पादित करने के लिए ब्राउज़र इंजन का उपयोग करता है। लेकिन यदि आप ब्राउज़र बंद करने जा रहे हैं तो जावास्क्रिप्ट कोड निष्पादित करने में सक्षम कैसे होगा। तो, यह बिल्कुल संभव नहीं है। लेकिन मामलों में Google क्रोम से निपटने के लिए, क्योंकि एंड्रॉइड एक ऑपरेटिंग सिस्टम है और जावास्क्रिप्ट संकलन का समर्थन करता है, क्योंकि वी 8 Google द्वारा प्रदान किए गए क्रोम के लिए निष्पादन इंजन भी है। तो निम्न लिपि एक सही ट्रैक का कारण बन सकती है।

$ (विंडो) .bind ('beforeunload', function() {
अगर (iWantTo) {
वापसी "मुझे मत छोड़ो!";
}
});

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