IE

7

में "मूल XMLHTTP समर्थन सक्षम करें" विकल्प का उद्देश्य क्या है हमारी वेबसाइट AJAX कॉल का उपयोग करती है और XMLHTTPRequest का उपयोग करने के लिए इसका उपयोग करती है। जब ग्राहक दिन के माध्यम से एक आईई इंस्टेंस का उपयोग करता है और उस आईई में पृष्ठ को गहन रूप से नेविगेट और रीफिस कर रहा है, तो हम मेमोरी अपवाद से बाहर हो जाते हैं और आईई को बंद करने के लिए मजबूर होते हैं।IE

आईई के एडवांस्ड टैब में Enable native XMLHTTP support विकल्प सक्षम करके समस्या को हल करता है। चूंकि हम ActiveXObject पर देशी XMLHTTP ऑब्जेक्ट पसंद करते हैं, इसलिए ActiveXObject का उपयोग करने के कारण अपवाद हो सकता है। लेकिन अभी भी यह सुनिश्चित नहीं है कि मूल कारण क्या हो सकता है या इस मुद्दे को हल करने का कोई और बेहतर तरीका है। हम आईई 8 का उपयोग करते हैं। हमने कभी भी अन्य ब्राउज़रों (फ़ायरफ़ॉक्स और क्रोम) में ऐसी कोई समस्या नहीं आई है। धन्यवाद

+0

https://github.com/Pita/etherpad-lite/wiki/How-to-enable-native-XMLHTTP-support-in-IE –

+4

@Quoi, यह कोई जवाब नहीं है। यह सिर्फ एक और मामला है। – Raptor

+0

क्या मैं सही समझता हूं? आईई में एक अंतर्निहित, मानकों-अनुरूप XHR कार्यान्वयन है लेकिन इसे डिफ़ॉल्ट रूप से अक्षम कर दिया गया है? – Bergi

उत्तर

5

देशी XMLHTTP समर्थन सक्षम करें का अर्थ है कि ब्राउज़र MSXML.HttpRequest प्रदान नहीं करेगा बल्कि इसके बजाय window.XMLHttpRequest मानक मानकों के अनुरूप है। हमने सफलतापूर्वक दोनों संस्करणों को किसी भी रिसाव के बिना सफलतापूर्वक उपयोग किया है, इसलिए मुझे लगता है कि यह आपके कोड में कुछ कार्यान्वयन समस्या होनी चाहिए - मैं बस अनुमान लगा रहा हूं, लेकिन एमएसएक्सएमएल को पिन करना। डोमनोड्स (इवेंटलिस्टर के माध्यम से) पर एचटीपीआरक्वेट उदाहरण ऐसी परिस्थितियों का कारण बन सकता है।

+0

@ पीटर अरोन ज़ेंटाई - एमओएक्सएमएल.एचटीपीआरक्वेट उदाहरणों को डीओएमएनओड्स (एक ईवेंटलिस्टर के माध्यम से) पर ऐसी परिस्थितियों का कारण बन सकता है। -> क्या आप कृपया मुझे –

+0

$ ('# myButton') के लिए एक उदाहरण दे सकते हैं। (Function() {var xhr = createXHR(); xhr.onreadystatechange = function() {}}) पर क्लिक करें; <- यह पूरे एक्सएचआर प्रतिक्रिया को स्मृति में रख सकता है क्योंकि एक्सएच ऑब्जेक्ट को रिपोजन्स बॉडी के साथ बंद कर दिया जाता है जो केवल बंद हो जाता है जो बटन गायब हो जाता है। –

+0

मैं फिर एक्सएचआर का निपटान कैसे करूं और एक्सएचआर का निपटान करने के लिए सबसे अच्छी जगह कहां होगी। –

1

एचटीएमएल डोम, जावास्क्रिप्ट निष्पादन इंजन, और XMLHTTPRequest ऑब्जेक्ट के बीच सर्कुलर रिफ्रेंसेंस के कारण, आप अनिवार्य रूप से XMLHTTPRequest ऑब्जेक्ट्स लीक कर रहे हैं।

अनुरोध पूरा होने पर आपको ईवेंट को अनदेखा करने और XMLHttp ऑब्जेक्ट को अव्यवस्थित करने की आवश्यकता है। (उन्हें अव्यवस्थित करने के लिए सुनिश्चित करें कि ऑनक्लिक हैंडलर इत्यादि में स्क्रिप्ट के छोटे बिट्स सहित

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

भी देखें @ PeterAronZentai का जवाब।

+0

कोड उदाहरण का थोड़ा सा वास्तव में मेरी मदद करेगा!बहुत बहुत धन्यवाद –

+0

मुझे लगता है कि आपके पास एक पृष्ठ खुला है, बहुत सारे अजाक्स के साथ, लेकिन आप वास्तव में पूरे पृष्ठ को फिर से लोड नहीं करते? – Ben

+0

हां लगभग लेकिन कभी-कभी ग्राहक –

2

IE में विकल्प "देशी XMLHTTP समर्थन सक्षम करें", आश्चर्य, IE XMLHttpRequest के लिए देशी समर्थन प्रदान करता है। आपने इसे सक्षम नहीं है, तो आप आईई में एमएसएक्सएमएल लाइब्रेरी के लिए केवल विरासत ActiveX बाध्यकारी होगा। मुझे लगता है कि आप कुछ लाइब्रेरी का उपयोग करते हैं जो उन मामलों के लिए क्रॉस-ब्राउज़र हैंडलिंग प्रदान करता है जहां मूल समर्थन अनुपस्थित है (सेटिंग बंद या पुरानी आईई जिसमें केवल विरासत इंटरफ़ेस है) या मैन्युअल रूप से MSXML पर फ़ॉलबैक है। चूंकि एमएसएक्सएमएल बाध्यकारी जावास्क्रिप्ट के लिए एक विदेशी इंटरफ़ेस है, ऐसे कई स्थान हैं जहां बाहरी जेएस से पेश की गई वस्तुएं देशी वस्तुओं के साथ क्रॉस-रेफरेंस बना सकती हैं, या तो जेएस या एक्टिवैक्स कचरा कलेक्टर को पुनः प्राप्त करने के लिए नहीं, क्योंकि वे संवाद नहीं करते हैं और ' इस तरह के परिपत्र संदर्भों को नहीं मिला।

मेरी राय में, सर्वोत्तम समाधान, आईई 7 उपयोगकर्ताओं को हमेशा इस विकल्प के लिए अनुशंसा करना है (इसमें वास्तव में शून्य कमी है) और बस पुराने ब्राउज़र के बारे में भूल जाएं। यदि यह किसी भी तरह का विकल्प नहीं है, तो अपने फॉलबैक कोड में बनाए गए सभी एमएसएक्सएमएल ऑब्जेक्ट्स को दोबारा साफ़ करने का प्रयास करें।

+0

आईई में एक उन्नत सेटिंग पर समाधान बनाना सिर्फ काम नहीं कर रहा है। यदि आप सुझाव देते हैं तो भी कोई भी स्विच करने के लिए कभी भी वहां नहीं जाता है ... –

+0

यह आमतौर पर पुराने ब्राउज़रों में कभी भी अक्षम नहीं होता है जब तक कि कुछ पागल समूह नीतियां उपयोग में न हों और केवल नए में मौजूद न हों। मैं पूरी तरह से एमएसएक्सएमएल को फेंकने का सुझाव नहीं देता, लेकिन वास्तव में तारकीय प्रदर्शन से कम के बारे में देखभाल करना बंद करने का समय है। –

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