Koska sen käynnistämisestä, Prototyyppi on tullut yksi kaikkein arvostettu ja käytetty JavaScript kehysten ympärillä.
Prototype ei suositella pieniä hankkeita (kuten 3 sivun verkkosivuilla), mutta on täydellinen suurempia sivustoja tai JS-käyttöinen verkkosovellukset, lähinnä sen suurempaa koodin koko.
puitteet on testattu ja työskentely Mozilla Firefox 1.5+, Internet Explorer 6+, Safari 2.0.4+, Opera 9.25+ ja Google Chrome 1 +.
Tämä antaa kehittäjille suuri liikkumavaraa luoda rajat selaimen sovelluksia, joka toimii monenlaisia skenaarioita.
Mikä on uusi tässä julkaisussa:
- Päivitetty uusimpaan versioon Sizzle paremman suorituskyvyn ja korjata muutamia asioita olemme nähneet luonnossa.
- Kiinteät ongelma viime versiot IE jossa sisäinen ominaisuus tarkastus oli vahingossa tapahtuvan aktivoitumisen & quot; Tämä sivu käyttää Java & quot; dialogi.
- Kiinteät useita pieniä asioita dom- ja taitto liittyviä menetelmiä.
Mikä on uusi versiossa 1.7.2.0:
- Updated uusimpaan versioon Sizzle suorituskyvyn parantamiseksi ja korjata muutamia asioita olemme nähneet luonnossa.
- Kiinteät ongelma viime versiot IE jossa sisäinen ominaisuus tarkastus oli vahingossa tapahtuvan aktivoitumisen & quot; Tämä sivu käyttää Java & quot; dialogi.
- Kiinteät useita pieniä asioita dom- ja taitto liittyviä menetelmiä.
Mikä on uusi versiossa 1.7.1.0:
- DOM rewrite
- ECMAScript 5 yhteensopivuus
- Kiinteä vian kanssa Element.setOpacity joka aiheuttaa ongelmia IE9 ja tuleva IE10.
- Kiinteät tapaamme sarjoittaa muoto arvot on täsmällisempää tapaa selaimet.
Mikä on uusi versiossa 1.7:
- Varmista `Element # update` toimii merkkijono sisältöä, joka sisältää LINK tag Internet Explorer.
- Treat 304 HTTP asema se onnistuu.
- Käsittele harva taulukot oikein `Array # _each` vastaamaan käyttäytymistä selainten" sisäänrakennettu `Array # forEach` (ja ES5).
- Tee `Event.extend` työtä legacy IE tapahtumia IE 9.
- Lopeta oheisista `& _ =` parametreihin ei-GET Ajax pyyntöjä Safarissa. Emme enää tue mitään versiota Safari joille tämä on tarpeen.
- Varmista `Form.focusFirstElement` ei nosta poikkeuksen muodostaa ilman kenttiä.
- Määritä `relatedTarget` kiinteistön laajennettu mouseenter / mouseleave tapahtumia IE perintö tapahtuma järjestelmä.
- Fix outoa käyttäytymistä `uusi Element (" Valitse ")` in IE6-7.
- Laajenna näppäinelementtejä kaikki määritellyt Form.Element.Methods. Varmista näppäinelementteihin ajetaan sisään Form.getElements ja sarjoitettu in Form.serialize.
- Varmista Object.isFunction palauttaa FALSE varten regexp objekteja.
- Palauta Opera-erityinen käyttäytyminen soitosta Element # getStyle kanssa (vasen | oikealla | ylhäältä | alhaalla).
- Korjaa ongelma Event # isMiddleClick ja #isRightClick Safarissa ja Chrome.
- Korjaa ongelma, jossa Ajax pyyntö IE joskus palaa 1223 sijasta 204 tilakoodin.
- Lisää Object.isDate.
- kahva tapauksia, joissa `Asiakirjalla tai` document.documentElement` johdetaan Element # getOffsetParent. Korjaa IE virheet monia layout / paikannusmenetelmiä.
- Kääri `element` in` $ `Element # cumulativeOffset, #viewportOffset, #positionedOffset, ja #getOffsetParent.
Mikä on uusi versiossa 1.7 RC3:
- Tämä pitkään viivästyneen versio sisältää täyden tuen Internet Explorer 9.
Mikä on uusi versiossa 1.6.1:
- Vältä laukaisee varoituksen, kun Java ei ole käytössä IE8 .
- Yksinkertaista String # (un) escapeHTML ja poistaa niiden DOM riippuvuudet.
- Päivitä UnittestJS. Modifiy testi mallin mukaisesti.
- Poista tarpeeton, jos lausuman Element # readAttribute.
- Lisää puuttuvat puolipistein.
- Poista kalliita (niin alhaiset tason menetelmä) sisäinen "getClass" hyväksi tavallista merkkijonovertailu
- Fix "PeriodicalExecuter" siten, että se ei enää tukahduttaa poikkeuksia.
- Korjaa ongelma liittyvät pakenevat valitsinluettelot varten querySelectorAll.
Mikä on uusi versiossa 1.6.1_rc3:
- Kiinteä erilaisia ei-ASCII merkkiä ja niiden kaltaiset
- Lisää Chrome 1+ luettelo tuetuista selaimista.
- Fix "malli # arvioida '& quot; syöminen & quot; edellinen merkki jos "tyhjä" palautettiin "toTemplateReplacements" -toiminto.
- Varmista, että (puutteellinen) APPLET, OBJECT ja EMBED elementit laajennetaan simuloitu menetelmiä IE8. Paluu aikaisin, jos "_extendedByPrototype" on läsnä elementti.
- Vaihda array luominen ja "Array # sisältävät" tehokkaammalla "regexp # testi".
- Järjestä uudelleen tavalla "ElementExtensions" määritellään. Varmista käytettyjen elementtien SpecificElementExtensions paikat puhdistetaan.
- Varmista, että $ toimii primitiivinen arvoihin.
- Älä selainta haistella kun forkkaamisessa "merkinnän poistaminen" toiminnon valitsin suite. Sen sijaan käyttää oikea testi - PROPERTIES_ATTRIBUTES_MAP.
- Älä käytä lyhyitä käden elementti menetelmiä merkintätapa (@ element.getStyle () - & # x3e; Element.getStyle (@element)) suorituskyvyn vuoksi. Älä käytä "$" ja "Array.prototype.shift", kun "Array.prototype.slice" sijasta voidaan käyttää.
- 'Prototype.Browser.Opera "käyttää nyt vahvempi päättely ja määritetään [[Luokka]] of" window.opera' olento - & quot; Opera & quot;.
- Korjaa virhe event.js jotka estivät liittämällä useampi kuin yksi responder tapahtuman nimi / elementin yhdistelmä.
- Älä haistella testattaessa IE: n oma mouseenter / mouseleave tapahtumien tuki. Käytä vankempi päättely sijasta.
- Käytä "Prototype.emptyFunction" yhdenmukaisesti koko laite testejä.
- vähättely laajennus: mark Array # vähentämiseksi () kuin poistettu.
- 'Form.serialize "toimii nyt turvallisesti muotoja, jotka ovat & quot; pituus & quot; -named elementtejä.
Mikä on uusi versiossa 1.6.1_rc1:
- 'Element # update "huolehtii nyt SCRIPT elementtejä IE.
- Poista käyttämättömät paikallisia muuttujia "Element.extend". Kiinnitä yksi lomake testien poistamiseksi "_extendedByPrototype" asettamalla sen "määrittelemätön" eikä "false" ( "_extendedByPrototype" on "false" ei pakota "Element.extend" uudelleen laajentaa elementti).
- Tee testi 'escapeHTML' / 'unescapeHTML "tiukempia. (Chrome 1.x pakenee & quot; & # X3C; & quot; ja & quot; && quot; kanssa "innerHTML", mutta ei & quot; & # x3e; & quot;)
- Poista toinen haistaa yhdestä DOM testeistä. Korjaa viime IE8 vika.
- 'Element.extend "huolehtii nyt IE8 bug kun HTMLAppletElement ja HTMLObjectElement esineet eivät perivät" Element.prototype ".
- Korjaa DOM testeissä käyttää asianmukaista toimintoa testi testattaessa "setOpacity"
- Fix toinen epäonnistuminen IE8, 'for' / 'htmlFor' {saada / setti} Taito käännös.
- Fix 'Element # writeAttribute "ja" Element # readAttribute "epäonnistumiset IE8 johtuu puutteellisesta ominaisuuden testaus.
- Poista haistaa yhdestä DOM testeistä, joka on tuottanut epäonnistumisia IE8.
- Fix "Form.reset" testi, jossa "respondsTo" ei havaitse menetelmän takia typeof palaavien & quot; objekti & quot; (Pikemmin kuin & quot; toiminto & quot;) IE
- Poista Array # vähentää nykyisin ohittaa native "vähentää" in asiakkaat täytäntöönpanossa JS1.8, esim. Firefox 3 +
- Varmista try / catch / lopulta sijasta käytetään try / lopulta asiakkaille ilman tukea jälkimmäinen (esim. Blackberry, IE)
- Käytä "in" operaattori luettaessa omaisuutta nodelist estää Safari & # X3C; = 2.0.4 kaatuu
- Lisää Element # klooni turvallisena kääre natiivin "cloneNode".
- Lisää testit, joilla varmistetaan IE8 kunnolla määrittää luokan nimen "Element" rakentaja.
- Poista haistaa osoitteesta "Element" havaitessaan rikki "setAttribute" IE.
- Poista haistaa osoitteesta "Element.update" haarautumista hyväksi ominaisuus tunnistus.
- Poista haistaa kun haarautuvan "escapeHTML" ja "unescapeHTML".
- Redefine Element # alaspäin IE 6-7 välttää ulottuu kaikkiin jälkeläiset kun mitään valitsin annetaan.
- Käänteinen määritelmät Event # osoitin (X | Y) ja Event # osoitin välttämään tarpeettomia laskentaa.
- Lisää ensiluokkainen tuki "mouseenter 'ja' mouseleave" tapahtumia ei-IE-selaimissa (IE tukee niitä natiivisti).
- Varmista, että "_extendedByPrototype ',' _countedByPrototype", ja "prototypeUID" solmun expandos pääsee kanssa "typeof" virheiden estämiseksi joissakin ympäristöissä.
- Korjaa ongelma, jossa Opera 9.x palauttaa virheellisiä tuloksia tietyistä valitsin kyselyitä jälkeläinen combinators.
- Null ulos viittauksia elementtien välimuistiin sivulla purkaa. Tarvitsevat tätä lisäksi Event # stopObserving puhelut siivota muistivuotoja.
- Varmista "toString" ja "valueOf" ominaisuudet kopioidaan alaluokka vain tarvittaessa IE6.
- Varmista, että "getAttribute" käytetään ilman lippua luettaessa & quot; tyyppi & quot; ominaisuus iframe (IE heittää virhe muuten).
- String # gsub pitäisi paeta regexp metamerkkejä kun ensimmäinen argumentti on merkkijono.
- Korjaa sijaisuusjärjestyksen in String # unescapeHTML
- Korjaa ongelma, jossa valitsin kyselyn juurtunut solmussa, jota ei ollut liitetty asiakirja epäonnistunut IE.
- Korjaa valitsin vastaamaan elementtien attribuutteja sisältävien väliviivoja.
- Varmista Form.reset palaa aina viittaus vastaanotin elementti.
- Escape & quot;: & quot; ja & quot;. & quot; merkkejä, kun teet asiayhteyteen CSS valinta tukevissa selaimissa querySelectorAll.
- Varmista, "tavoite" ominaisuus tapahtumista ei koskaan määrittelemätön IE.
- Varmista Element # jälkeläisiä aina palauttaa matriisin.
- Älä kytke kiinteässä asemassa elementtejä absoluuttinen Element.getDimensions
- Vältä ääretön silmukoita soitettaessa stringit # sub tyhjillä kuvio
- Vaihda Rattaat rakentamiseen Prototype distfiles.
- Switch Object.is (Array | String | Number) käyttämään huomattavasti superior lähestymistapa löysi Juriy.
- Further fix varmistaa Object.is (String | Number) eivät heittää poikkeuksia isäntä esineitä IE.
- Varmista numeroituvien # grep voi käsitellä jonoja regexp metamerkit.
- Vaihda & quot; doScroll lähestymistapa & quot; for dom: ladattu muokatun tapahtuman.
- optimoida document.viewport.get (mitat | leveys | Korkeus).
- Korjaa ongelma, jossa Object # isString ja Object # ISNUMBER return false String ja numero & quot; kääre & quot; esineitä.
- Aseta document.loaded = true ennen ampumista dom: ladattu muokatun tapahtuman.
- Salli Element # tallentaa hyväksymään objektin sisältävän useita avain / arvo-pareja.
- Muuta Element # tallentaa palata itse elementin (ketjutuksessa).
- Lisää ei-kuplii mukautettuja tapahtumia. Uusi viimeinen argumentti Element # tulta oletuksena "true"; pass "false" estää kuplimista ammuttaessa muokatun tapahtuman.
- Alter tapahtuma järjestelmä käyttää uuden elementin varastointi API sijaan omaa maailmanlaajuista Hashtable.
- Lisää Element # tallentaa ja Element # hakea turvallista, hash-tukema varastointi metadatan (ei muistivuodot). Myös lisätä Element # getStorage työstämiseen elementin varastointi hash suoraan. Hattu vihje: Mootools.
- Korjaa ongelma, jossa tietyt versiot Safari hoitoon luokan nimiä kirjainkokoa ei erotella in valitsin / $$ kyselyitä.
- Korjaa ongelma, jossa toiminto # argumentNames palautti virheellisiä tuloksia IE kun huomautuksia sekoitetut argumenttinimiä.
- Selector.patterns olisi edustettuina tilattu rakenne.
- Suorituskyky parannukset Toiminto menetelmiä
Vaatimukset
- Javascriptin asiakkaan puolella
Kommentteja ei löytynyt