2013-02-07 15 views
6

क्या उपयोगकर्ता किसी ब्राउज़र को पुनः लोड/बंद करने का विकल्प चुनने से पहले फ़ंक्शन निष्पादित करने का कोई तरीका है?ब्राउजर रीलोड/ब्राउजर/एक्सट्स पेज बंद करने से पहले जावास्क्रिप्ट फ़ंक्शन निष्पादित करें?

मुझे इसे "ऑनलाइन/ऑफ़लाइन" स्थिति फ़ंक्शन के लिए चाहिए, जिसे मैं लिखने की कोशिश कर रहा हूं। मैं यह जानना चाहता हूं कि उपयोगकर्ता अभी भी पृष्ठ पर है या नहीं।

कोई विचार? :)

शायद इसके लिए बेहतर दृष्टिकोण है?

+0

window.onbeforeunload = function() {...} – C5H8NNaO4

+2

window.onbeforeunload, संदर्भ: https://developer.mozilla.org/en-US/docs/DOM/window.onbeforeunload – PatrikAkerstrand

उत्तर

16

इनलाइन:

window.onbeforeunload = function(event) { 
    // do something 
    return null; 
}; 

या एक पूर्व निर्धारित समारोह चलाएँ:

window.onbeforeunload = myFunction; 

var myFunction = function(event) { 
    // do something 
    return null; 
} 

नोट्स:

इस घटना एक गैर शून्य मान देता है, तो उपयोगकर्ता के लिए प्रेरित किया जाता है पृष्ठ को अनलोड करने की पुष्टि करें। अधिकांश ब्राउज़रों में, ईवेंट का वापसी मान इस संवाद में प्रदर्शित होता है।

25 मई 2011, एचटीएमएल 5 विनिर्देश कहा गया है कि window.showModalDialog(), window.alert(), window.confirm() और window.prompt करने के लिए कॉल के बाद से() पद्धतियों इस घटना के दौरान नजरअंदाज किया जा सकता।

पर https://developer.mozilla.org/en-US/docs/DOM/window.onbeforeunload

+2

डाउनवॉटर, टिप्पणी करने की परवाह क्यों? –

+0

यदि आप एक स्ट्रिंग वापस करते हैं, तो यह उपयोगकर्ता को पॉपअप में एक संदेश के रूप में दिखाया जाएगा। एक शून्य/शून्य-वापसी मूल्य ब्राउज़र को सामान्य रूप से पृष्ठ को अनलोड करने देगा। यहां एमडीएन संदर्भ देखें: https://developer.mozilla.org/en-US/docs/DOM/window.onbeforeunload – PatrikAkerstrand

+0

-1 अनावश्यक फ़ंक्शन घोषणाओं को जोड़ने के लिए, यदि आप इसे जोड़ते हैं तो मैं इसे +1 में बदल दूंगा (अगर) लौटाए गए मान को अलर्ट बॉक्स में प्रदर्शित किया जाता है यदि वह वास्तव में पृष्ठ को छोड़ देता है तो वह – C5H8NNaO4

0

आज़माएं:

$(window).unload(function() { 
    alert("Handler for .unload() called."); 
}); 

या इस अगर आप चाहते हैं रचना चेतावनी

<script> 
window.onbeforeunload = function(e) { 
    return 'Your dialog message'; 
}; 
</script> 
संबंधित मुद्दे