[latex]Mae govannen![/latex]
Mahlzeit Kai345,
Das ist aber eher ungünstig ... ich würd's vielleicht mal *auf* den Server packen.
prototype.js packt man ausschließlich in die nächstgelegene Rundablage.
Wieso? Gibt's dafür auch objektive Gründe? Ist eins der anderen verbreiteten JS-Frameworks besser?
Ein immer wieder heiß diskutiertes Thema.
Prototype.js baut komplett Browser-Sniffing auf:
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/)
},
das heißt, wenn _das_ schiefgeht, funktioniert ggf. gar nichts mehr richtig, weil die Verzweigungen immer wieder auf diesem ermittelten Wert basieren. Und daß Sniffing die schlechtest-mögliche Ermittlungsgstategie eine(s|r) Browser(s|version) ist, sollte bekannt sein. Sogar JQuery hat es in den neuesten Versioenen nach langem Kampf inzwischen abgeschafft.
- Prototype.js erweitert im großen Stil die Basis-Objekte (die Meinungen, ob das schlecht ist, sind allerdings sehr geteilt; Crockford z.B. befürwortet es, solange es in einem sehr kontrollierten Rahmen bleibt).
Texte zu den Problemen, die manche damit sehen: 1 en 2 en
Dieser Thread (en) (leider nur über den minderwertigen Newsreader-Ersatz Google Groups) befasst sich damit, es gibt viele weitere. Schon die erste Antwort von David Mark fasst die Problem kurz zusammen.
Cü,
Kai
Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?