2010-08-30 21 views
5

मेरे पास एक क्लाइंट है जो अभी ऐप्पल मैजिक माउस प्राप्त कर चुका है। हमने एक नुस्खा वेबसाइट बनाई और जब वह नुस्खा के लिए सारी जानकारी इनपुट कर रही है तो वह बहुत परेशान हो जाती है, फिर उसके नए माउस के लिए जाती है और गलती से दाईं ओर स्क्रॉल करती है और यह बैक ब्राउज करेगी और उसकी सारी जानकारी खो जाएगी। इसलिए वह उस पृष्ठ पर होने से रोकने के लिए चेतावनी/पॉप अप करना चाहता है।एक आकस्मिक बैक ब्राउज़ करें

कोई सुझाव या मुझे कुछ जेएस को इंगित करता है जो ऐसा करता है?

उत्तर

11

यह एक बुनियादी 'छुट्टी से पहले चेतावनी' स्क्रिप्ट है। उपयोगकर्ता पाठ क्षेत्र में एक महत्वपूर्ण दबाता है, तो उपयोगकर्ता अगर (रों) वह के बारे में पृष्ठ को छोड़ना है सूचना दी जाएगी: वैकल्पिक रूप से

<script type="text/javascript"> 
var changes = false; 
window.onbeforeunload = function(){ 
    if(changes){ 
     return "You're about to leave this page."; 
    } 
}; 
</script> 
<textarea onkeypress="window.changes=true">recipe here</textarea> 

, जब पेज आप एक चर में पाठ फ़ील्ड की सामग्री को स्टोर कर सकते हैं भार और बाद में इसकी तुलना करें। जब कुछ आगंतुक वास्तव में इसे संशोधित किए बिना टेक्स्टरेरा में तीर कुंजियों को दबाएंगे तो यह कुछ भ्रम दूर करेगा।

+0

+1 इस प्रकार जीमेल आदि भी ऐसा करते हैं। –

+0

हाँ, यदि इस विरासत कोड का उपयोग करके बहादुर हार्ट्स हैं, तो वेबकिट (Google क्रोम, सफारी) 'addEventListener' के साथ पहले से लोड करने का समर्थन नहीं करता है। – Lekensteyn

+0

खिड़की की संपत्ति के रूप में ऑनबेरनलोड को सेट करने का एकमात्र विश्वसनीय तरीका है। चूंकि प्रत्येक पृष्ठ के लिए केवल एक होना चाहिए, इसलिए कोई कारण नहीं है कि आप addEventListener का उपयोग क्यों करना चाहते हैं। –

0

तो वह उस पृष्ठ पर होने से रोकने के लिए चेतावनी/पॉप अप करना चाहता है।

आप अपने ब्राउज़र की onBeforeUnload ईवेंट में हुक कर सकते हैं और फिर एक पुष्टिकरण संदेश दिखा सकते हैं।

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