आईई के लिए जावास्क्रिप्ट सशर्त टिप्पणियों की खोज करते समय, मैंने @cc_on पर ठोकर खाई। ऐसा लगता है कि काम करता है। मैं हो रही है एक "उम्मीद निरंतर" जावास्क्रिप्ट त्रुटि पर !window.XMLHttpRequest
/* @ सीसी_ओएन और आईई 6 पहचान
/*@cc_on
@if (@_jscript_version > 5.7)
document.write("You are using IE8+");
@elif (@_jscript_version == 5.7 && window.XMLHttpRequest)
document.write("You are using IE7");
@elif (@_jscript_version == 5.6 || (@_jscript_version == 5.7 && !window.XMLHttpRequest))
document.write("You are using IE6");
@elif (@_jscript_version == 5.5)
document.write("You are using IE5.5");
@else
document.write("You are using IE5 or older");
@end
@*/
मुद्दा है, हालांकि, सशर्त टिप्पणियों पर wikipedia entry, और अधिक मजबूत आईई detections के लिए निम्न कोड प्रदान करता है विशेष रूप से IE6।
स्पष्ट रूप से विकिपीडिया को कुछ मदद की ज़रूरत है, और मुझे यह काम करने की आवश्यकता है। क्या कोई मेरी मदद कर सकता है?
"अधिक मजबूत आईई detections" में मदद करता है? मुझे लगता है कि सशर्त टिप्पणियां आईई पहचान का सबसे मजबूत रूप प्रदान करती हैं। ** ** आईई संस्करण निर्धारित करने के लिए जेस्क्रिप्ट संस्करण पर भरोसा न करें, क्योंकि वे स्वतंत्र हैं। Http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html#c1774947112904387635 के बिंदु 4 देखें इसके अलावा, आपको ब्राउज़र पहचान का उपयोग नहीं करना चाहिए ; सुविधा का पता लगाने का उपयोग करें: http://www.nczonline.net/blog/2009/12/29/feature-detection-is-not-browser-detection/ –
@_jscript_version पहचान केवल तभी उपयोग की जानी चाहिए जब आप के बीच सटीक अंतर जानते हों जेस्क्रिप्ट इंजन के संस्करण और आप किसी भी तरह से उस अंतर को लक्षित करना चाहते हैं - उदाहरण के लिए, एक अनुपलब्ध सुविधा का अनुकरण करें। उदाहरण के लिए, जेएसक्रिप्ट 5.1 में फ़ंक्शन का प्रोटोटाइप कॉल/लागू विधियों को परिभाषित नहीं किया गया था, न ही इसमें Array.prototype.push था। इसलिए यह @_jscript_version का पता लगाना सुरक्षित है और इन सुविधाओं के लिए प्रोग्रामेटिक समर्थन जोड़ें। हालांकि, जैसा कि मार्सेल ने कहा था, यह मानना सुरक्षित नहीं है कि 5.1 मानचित्रों के @_jscript_version IE5.01 पर जाएं क्योंकि आप आसानी से विंडोज अपडेट से जेएसक्रिप्ट अपडेट कर सकते हैं। –
@ विटाली: मैं बहुत ज्यादा नाइटपिक नहीं करना चाहता हूं, लेकिन आपके द्वारा दिए गए उदाहरणों को फीचर डिटेक्शन के साथ परीक्षण किया जा सकता है, इसलिए आपको जावास्क्रिप्ट संस्करण> = 1.3 या कुछ के लिए भी परीक्षण करने की आवश्यकता नहीं है। बस 'if (! Function.prototype.call) {Function.prototype.call = foo का उपयोग करें; } ', आदि, जैसे Oz.js करता है: http://code.google.com/p/oz-js/source/browse/trunk/oz.js#224 –