जावास्क्रिप्ट का उपयोग करके आप 'रीफ्रेश' बटन या फ़ायरफ़ॉक्स ब्राउज़र की घटना कैप्चर कैसे करते हैं और फ़ॉर्म को रीफ्रेश करते समय IE के व्यवहार को अपमानित करते हैं। फ़ायरफ़ॉक्स उन फॉर्मों को फिर से भरता है जो मेरे AJAX UI को नष्ट कर देता है।फ़ायरफ़ॉक्स के रीफ्रेश व्यवहार
उत्तर
<form name="form1" id="form1" method="post" autocomplete="off" action="http://www.example.com">
</form>
https://developer.mozilla.org/en/How_to_Turn_Off_Form_Autocompletion
आप दर्ज की गई सभी चीज़ों (एक्सचेंज, इत्यादि), एनकोड का ट्रैक रख सकते हैं और इसे स्थानीय भंडारण में डाल सकते हैं। जब पृष्ठ लोड होता है, तो देखें कि आपके पास स्थानीय संग्रहण में कुछ है या नहीं और उपयोगकर्ता के डेटा के साथ फॉर्म भरें।
सुनिश्चित करें कि आप खाली भंडारण जब जरूरत (प्रपत्र submittal, onbeforeunload, डेटा, आदि को पढ़ने के बाद)
समस्या को हल करने की कोशिश कर रहे हैं ताकि संकीर्ण है, तो आप डेटा बहुत छोटी कर सकते हैं बनाओ भंडारण में भी रहते थे। साथ ही, इसे केवल सत्र-सत्र बनाएं यदि आप कर सकते हैं। आप प्रत्येक परिवर्तन पर बचत के बजाय, डेटा को सहेजने की घटना को सीमित कर सकते हैं। कम से कम, एक setTimeOut() को एक्सचेंज के बाद कुछ उचित मात्रा में निकाल दिया जाता है और सेटटाइम आउट हैंडलर में आपकी बचत करता है, इस तरह आप सीपीयू को अनावश्यक रूप से उपयोग नहीं करेंगे।
"स्थानीय संग्रहण" मैं HTML5 localStorage मतलब लेकिन वहाँ पुस्तकालयों कि सार यह और फ्लैश का उपयोग कर के माध्यम से HTML5 समर्थन के बिना ब्राउज़रों के लिए यह विस्तार यदि स्थापित, आदि – martona
मैं प्रपत्र चाहते हैं IE ब्राउज़र पर व्यवहार की तरह पूरी तरह से पुनः लोड किया जाना है। –
क्षमा करें, ऐसा लगता है कि मैंने आपको जो चाहते थे उसके ठीक विपरीत करने का एक विस्तृत तरीका दिया। आप अभी भी एक ही तर्क का उपयोग कर सकते हैं हालांकि ... आपके ऑनलोड ईवेंट में केवल उन चीजों को साफ़ करें जो फ़ायरफ़ॉक्स मददगार रूप से क्रैम करते हैं। अगर ऑनलोड बहुत जल्दी है (फिर से भरना फिर से होता है) तो ऑनटाइम में सेटटाइम का उपयोग करें और टाइमर के दौरान क्लीनअप करें सक्रिय होता है। – martona
मुझे यकीन नहीं है कि आईई कैसे व्यवहार करता है, लेकिन अगर आप चाहते हैं कि आपके AJAX UI के काम से पहले फॉर्म खाली हो जाए, तो आप फॉर्म को साफ़ कर सकते हैं क्योंकि यह window.beforeunload
का उपयोग करके पुनः लोड हो जाता है।
बनाएं लेकिन इससे फ़ॉर्म की उपयोगिता को नुकसान पहुंचाता है। उपयोगकर्ता अपने फॉर्म इतिहास को नहीं देख सकते हैं, जैसे कि वे अतीत में टाइप किए गए ईमेल का उपयोग करते हैं, और इसका फिर से टाइप करने का कोई कारण नहीं है। – neoswf