यदि हम Internet Explorer
v9 से पहले के संस्करण का उपयोग कर रहे हैं तो मैं अपनी वेब साइट के उपयोगकर्ताओं को एक त्रुटि पृष्ठ पर बाउंस करना चाहता हूं । यह सिर्फ समर्थन करने के लिए हमारे समय और धन के लायक नहीं है IE pre-v9
। अन्य सभी गैर-IE ब्राउज़र के उपयोगकर्ता ठीक हैं और उन्हें बाउंस नहीं किया जाना चाहिए। यहाँ प्रस्तावित कोड है:
if(navigator.appName.indexOf("Internet Explorer")!=-1){ //yeah, he's using IE
var badBrowser=(
navigator.appVersion.indexOf("MSIE 9")==-1 && //v9 is ok
navigator.appVersion.indexOf("MSIE 1")==-1 //v10, 11, 12, etc. is fine too
);
if(badBrowser){
// navigate to error page
}
}
क्या यह कोड ट्रिक करेगा?
कुछ टिप्पणियों को दूर करने के लिए जो शायद मेरे रास्ते आने वाली हैं:
- हां, मुझे पता है कि उपयोगकर्ता अपनी
useragent
स्ट्रिंग फोर्ज कर सकते हैं । मुझे चिंता नहीं है। - हाँ, मुझे पता है कि प्रोग्रामिंग पेशेवरों ब्राउज़र-प्रकार के बजाय सुविधा-समर्थन को सूँघना पसंद करते हैं, लेकिन मुझे नहीं लगता कि यह दृष्टिकोण इस मामले में समझ में आता है। मैं पहले से ही जानता हूं कि सभी (प्रासंगिक) गैर-IE ब्राउज़र उन सुविधाओं का समर्थन करते हैं जिनकी मुझे आवश्यकता है और जो सभी
pre-v9 IE
ब्राउज़र नहीं करते हैं। पूरे साइट में फ़ीचर द्वारा चेकिंग एक बेकार बात होगी। - हां, मुझे पता है कि साइट का उपयोग करने की कोशिश करने वाले
IE v1
(या = = 20) किसी को 'badBrowser' सही पर सेट नहीं मिलेगा और चेतावनी पृष्ठ ठीक से प्रदर्शित नहीं होगा। यह एक जोखिम है जिसे हम लेने के लिए तैयार हैं। - हां, मुझे पता है कि Microsoft के पास "सशर्त टिप्पणियां" हैं जिनका उपयोग सटीक ब्राउज़र संस्करण का पता लगाने के लिए किया जा सकता है। IE अब के रूप में सशर्त टिप्पणियों का समर्थन करता है
IE 10
, इस दृष्टिकोण का प्रतिपादन बिल्कुल बेकार है।
किसी भी अन्य स्पष्ट मुद्दों के बारे में पता होना चाहिए?