प्रोटोटाइप कुछ झंडे प्रदान करता है आप एक विचार प्राप्त करने के लिए जाँच कर सकते हैं किस ब्राउज़र के लिए चल रहा है। ध्यान रखें कि किसी विशेष ब्राउज़र की जांच करने के बजाय आप जिस कार्यक्षमता का उपयोग करना चाहते हैं उसकी जांच करना बेहतर अभ्यास है।
यहाँ वर्तमान स्रोत पेड़ में prototype.js
की ब्राउज़र- और सुविधा का पता लगाने भाग है: अगर मौजूदा ब्राउज़र Prototype.Browser.IE
, या वैकल्पिक रूप से मूल्य की जांच कर आईई है
var Prototype = {
Browser: {
IE: !!(window.attachEvent &&
navigator.userAgent.indexOf('Opera') === -1),
Opera: navigator.userAgent.indexOf('Opera') > -1,
WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
Gecko: navigator.userAgent.indexOf('Gecko') > -1 &&
navigator.userAgent.indexOf('KHTML') === -1,
MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
},
BrowserFeatures: {
XPath: !!document.evaluate,
SelectorsAPI: !!document.querySelector,
ElementExtensions: !!window.HTMLElement,
SpecificElementExtensions:
document.createElement('div')['__proto__'] &&
document.createElement('div')['__proto__'] !==
document.createElement('form')['__proto__']
},
}
तो तुम जांच कर सकता है, हो सकता है अधिक भविष्य-संगत और Prototype.BrowserFeatures.XPath
के साथ XPath जैसे किसी विशेष सुविधा की जांच करें।
और एक तरफ, मैं एक विशिष्ट ब्राउज़र और उसके संस्करण की ओर कोडिंग के नुकसान को समझता हूं, क्योंकि उपलब्ध 'सुविधाओं' की ओर कोडिंग के विपरीत। – EvilSyn
अधिक स्कोअरिंग, और मैं प्रोटोटाइप देखता हूं। ब्राउजर जो मुझे आईई या गेको इत्यादि पर बूलियन देगा। इससे मदद मिलती है .. अगर इसमें संस्करण भी था तो अच्छा होगा लेकिन मुझे लगता है कि मैं उस के लिए सादे पुराने जेएस लिख सकता हूं । – EvilSyn