2009-08-14 10 views
8

बंद करें मुझे अपने पृष्ठ में यह जांचना है कि पृष्ठ रीफ्रेश बटन या विंडो बंद करें बटन से अनलोड किया गया है, जावा स्क्रिप्ट/jquery का उपयोग करके यह कैसे संभव है?उपयोगकर्ता को कैसे जांचें, रीफ्रेश बटन पर क्लिक करें या x

उत्तर

0

मुझे लगता है कि ब्राउज़र में दोनों "अनलोड" ईवेंट हैं। आप कोशिश कर सकते हैं:

$(window).unload(function() { 
    alert("QueSeraSera.. lalalala"); 
}); 
1

'window.onbeforeunload' ईवेंट को आप जो करने की कोशिश कर रहे हैं उसे कैप्चर करना चाहिए। हालांकि, यदि कोई पोस्ट होता है तो यह भी निकाल दिया जाएगा (यानी उपयोगकर्ता सबमिट बटन पर क्लिक करता है) या यदि उपयोगकर्ता पृष्ठ से दूर नेविगेट करने का प्रयास करता है। मुझे यकीन है कि jQuery इस के लिए एक अच्छा आवरण है हूँ, लेकिन आप जावास्क्रिप्ट विधि ही यहां पर कुछ जानकारी पा सकते हैं:

https://developer.mozilla.org/en/DOM/window.onbeforeunload

2

जावास्क्रिप्ट है

window.unload = <function> 

jQuery है

$(window).unload(<function>) 

या पहले से लोड की गई घटनाएं भी हैं, यह इस बात पर निर्भर करती है कि आप ईवेंट समय

के रूप में क्या करने की कोशिश कर रहे हैं
window.onbeforeunload = confirmExit; 

function confirmExit() 
{   
    return "Not leaving page"; 
} 

इन्हें पृष्ठ को अनलोड किए जाने पर, ताज़ा करके, खिड़की/टैब बंद करने या उससे दूर जाने के लिए कहा जाएगा (या तो एक लिंक द्वारा या यूआरएल को बदलकर)।

ध्यान रखें कि कुछ लोगों में ऐसे ब्राउज़र हो सकते हैं जो कुछ स्क्रिप्ट घटनाओं या कार्रवाइयों को फ़िल्टर कर सकें - वास्तव में, आप क्या करने की कोशिश कर रहे थे?

0

मुझे एक ही समस्या है। कई "गॉगलिंग" के बाद, मैं अंत में इसका उपयोग करता हूं। मुझे उम्मीद है कि यह मदद करता है:

$(window).bind('unload', function() { 
    if(event.clientY < 0) { 
     alert('Gracias por emplear este servicio'); 
     endSession(); // here you can do what you want ... 
    } 
}); 
window.onbeforeunload = function() { 
    $(window).unbind('unload'); 
    // si se devuelve un string, automáticamente se pregunta al usuario por si desea irse o no .... 
    // return ''; 
    //'beforeunload event'; 
    if (event.clientY < 0) { 
     alert('Gracias por emplear este servicio'); 
     endSession(); 
    } 
} 
संबंधित मुद्दे