2009-02-10 9 views
7

क्या किसी ने यह नहीं देखा है कि JQuery ActiveX नियंत्रणों का उपयोग करता है?jQuery और ActiveX सुरक्षा के साथ एक गंभीर समस्या है?

जब किसी उपयोगकर्ता ने अपनी सक्रिय सुरक्षा सीमित कर दी है तो उन्हें स्क्रिप्ट प्रॉम्प्ट पॉपअप और उनकी ब्राउज़र विंडो के शीर्ष पर एक पीला बार मिलेगा। - यह सेटिंग डिफ़ॉल्ट रूप से विंडोज सर्वर पर है। - इंटरनेट कैफे सक्रिय एक्स का समर्थन नहीं करता है - कॉम्पैनी आंतरिक वर्कस्टेशन इसका समर्थन नहीं करते हैं।

इस पर विचार करते हुए मुझे नहीं लगता कि लोग व्यावसायिक अनुप्रयोग में JQuery का उपयोग कैसे कर सकते हैं।

क्या आप वाणिज्यिक अनुप्रयोग में JQuery का उपयोग करते हैं? क्या यह आपको चिंता करता है? क्या आपको लगता है कि मुझे इससे चिंतित होना चाहिए?

उत्तर

15

केवल स्पॉट जहां ActiveX jQuery कोड में बताया गया है ActiveXObject जो XMLHttpRequests के लिए प्रयोग किया जाता है के लिए है:

// Create the request object; Microsoft failed to properly 
// implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available 
var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); 

नहीं है एक खुला issue here ... लगता है jQuery की तरह देशी XMLHttpRequest उपयोग करने के लिए वापस आने नहीं करता है आईई 7 पर (यह शायद आप जो अनुभव कर रहे हैं)।

इसके अलावा इस मदद कर सकता है: link

6

jQuery, सबसे पुस्तकालयों कि AJAX के लिए समर्थन प्रदान करते हैं जैसे जब IE में चल XMLHttpRequest वस्तु बनाने के लिए ActiveX का उपयोग करेगा। क्योंकि इस तरह आप IE में XMLHttpRequest ऑब्जेक्ट प्राप्त करते हैं। यदि आप इसे अक्षम करते हैं, तो आपको AJAX नहीं मिलता है।

तो नहीं, इसके बारे में चिंता न करें। यदि आप AJAX का उपयोग नहीं करते हैं, तो आपको उन सिस्टम पर समस्या नहीं होगी जहां ActiveX अक्षम है; यदि आप करते हैं, तो आपके पास लाइब्रेरी के पर ध्यान दिए बिना समस्याएं होंगी, जब तक कि आप पृष्ठभूमि अनुरोध सबमिट करने के लिए iframes का उपयोग करने जैसे कार्य-आसपास का उपयोग न करें।

2

के कारणों के अतिरिक्त jQuery को ActiveX (यानी, AJAX) का उपयोग करना पड़ सकता है, आपको यह भी मानना ​​चाहिए कि jQuery के सभी उपयोग AJAX कार्यक्षमता के लिए नहीं हैं।

0

आईई में AJAX कार्यक्षमता के स्वतंत्र, jQuery 1.3.2 में एक समस्या थी जिसके कारण बैनर को प्रदर्शित किया गया था जब jQuery प्रारंभ में लोड हो गया था, भले ही आपने इसके साथ कुछ भी नहीं किया हो। ticked #4017 देखें। इस मुद्दे को changeset #6268 में हल किया गया है और इसे रिलीज़ होने पर jQuery 1.3.3 में संबोधित किया जाएगा।

0

यह सुनिश्चित नहीं है कि यह आपके मामले/प्रश्न पर लागू होता है, लेकिन मैंने देखा है कि jQuery संस्करण संघर्ष इस समस्या का कारण बनता है, लगभग डिफ़ॉल्ट रूप से, और यदि आप एक बड़ी साइट का प्रबंधन कर रहे हैं जो कई घटकों से बना है (यानी पोर्टल, सीएमएस, आदि) आप अनजाने में एक साथ कई jQuery संस्करणों का उपयोग कर सकते हैं। मेरे मामले में यह हमेशा आईई 7.

0

में ActiveX सुरक्षा पॉपअप मैं एक दुकान है कि ajax अनुरोध कर के साथ एक ही समस्या थी की वजह से, तो मैं के लिए यानी 9

खोज पर लोड XMLHttpRequest मजबूर करने के लिए मेरी jQuery फ़ाइल परिवर्तित :

var isIE9 = navigator.userAgent.match(/MSIE 9.0/i) != null; 
if(isIE9) 
    var l = new XMLHttpRequest();    
else 
    var l = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); 
:

var l = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); 

साथ बदलें

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