Prototyp bietet einige Fahnen können Sie überprüfen, um eine Vorstellung zu bekommen welcher Browser gerade läuft. Denken Sie daran, dass es viel besser ist, nach der Funktionalität zu suchen, die Sie verwenden möchten, als nach einem bestimmten Browser zu suchen.
Hier ist der browser- und feature-Erfassungsabschnitt von prototype.js
derzeit im Quellbaum:
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__']
},
}
Sie könnten also prüfen, ob der aktuelle Browser IE ist, den Wert von Prototype.Browser.IE
durch die Untersuchung oder alternativ sein zukunftssicherer und prüfen Sie auf eine bestimmte Funktion wie XPath mit Prototype.BrowserFeatures.XPath
.
Und so nebenbei, verstehe ich die Tücke der Codierung zu einem bestimmten Browser und deren Version, wie die Codierung gegenüber der verfügbaren ‚Features‘ gegenüber. – EvilSyn
Mehr scheuern, und ich sehe Prototyp.Browser, die mir Boolean auf IE oder Gecko usw. geben wird. Das hilft also .. Wäre schön, wenn es die Version auch drin hätte, aber ich denke, ich kann einfach altes JS dafür schreiben . – EvilSyn