Dahil ang paglunsad nito, Prototype ay naging isa sa mga pinaka-itinuturing at ginagamit frameworks JavaScript paligid.
Prototype ay hindi inirerekomenda para sa mga maliliit na mga proyekto (tulad ng isang 3 pahina ng website), ngunit ay perpekto para sa mas malaking mga website o JS pinagagana Web apps, higit sa lahat dahil sa kanyang mas malaking sukat code.
framework na ito ay nasubok at nagtatrabaho sa Mozilla Firefox 1.5+, Internet Explorer 6+, Safari 2.0.4+, Opera 9.25+ at Google Chrome 1 +.
Ito ay magbibigay sa mga developer isang malaking pasobra sa paglikha apps cross-browser na gumagana sa isang malawak na hanay ng mga sitwasyon
Ano ang bago sa ito release:.
- Nai-update sa pinakabagong bersyon ng Sizzle para sa mas mahusay na pagganap at upang ayusin ang ilang mga isyu na namin nakita sa ligaw.
- Inayos ang isang isyu sa mga nakaraang bersyon ng IE kung saan ang isang panloob na kakayahan check ay inadvertently trigger ng isang & quot; Ang pahinang ito ay gumagamit ng Java & quot; dialog.
- Mga Fixed isang bilang ng mga maliit na mga isyu sa DOM- at layout na may kinalaman sa mga pamamaraan.
Ano ang bago sa bersyon 1.7.2.0:
- Updated~~V sa pinakabagong bersyon ng Sizzle para sa mas mahusay na pagganap at upang ayusin ang ilang mga isyu na namin nakita sa ligaw.
- Inayos ang isang isyu sa mga nakaraang bersyon ng IE kung saan ang isang panloob na kakayahan check ay inadvertently trigger ng isang & quot; Ang pahinang ito ay gumagamit ng Java & quot; dialog.
- Mga Fixed isang bilang ng mga maliit na mga isyu sa DOM- at layout na may kinalaman sa mga pamamaraan.
Ano ang bago sa bersyon 1.7.1.0:
- DOM rewrite
- ECMAScript 5 compatibility
- Nakapirming isang bug sa Element.setOpacity na nagiging sanhi ng mga problema sa IE9 at ang mga paparating IE10.
- Fixed ang paraan serialize namin anyo halaga na maging mas tumpak sa paraan browser gumagana.
Ano ang bago sa bersyon 1.7:
- Tiyakin `Element # update` gumagana sa string nilalaman na kabilang ang isang LINK tag sa Internet Explorer.
- Tratuhin ang isang 304 HTTP status bilang isang matagumpay na tugon.
- Pangasiwaan kalat-kalat arrays ng maayos sa `Array # _each` upang tumugma pag-uugali sa mga browser 'built-in` Array # forEach` (at ES5).
- Gumawa `Event.extend` trabaho sa legacy IE kaganapan sa IE 9.
- Stop appending `& _ =` sa ang mga parameter para sa mga di-GET Ajax kahilingan sa Safari. Hindi na namin sinusuportahan ang anumang bersyon ng Safari para sa kung saan ito ay kinakailangan.
- Tiyakin `Form.focusFirstElement` ay hindi nagtataas ng isang exception sa mga form na walang mga patlang.
- Tukuyin ang isang `relatedTarget` ari-arian sa pinalawig kaganapan mouseenter / mouseleave sa legacy kaganapan system IE.
- Ayusin kakaiba pag-uugali sa `bagong Element ( 'piliin ang')` sa IE6-7.
- Palawakin ang mga elemento BUTTON sa lahat ng bagay na tinukoy sa Form.Element.Methods. Tiyakin BUTTON elemento ay traversed sa Form.getElements at serialized sa Form.serialize.
- Tiyakin Object.isFunction nagbabalik `false` para RegExp bagay.
- Ibalik Opera-tiyak na pag-uugali para sa pagtawag Element # getStyle sa. (Kaliwa | right | top | ibaba)
- Fix isyu sa Kaganapan # isMiddleClick at #isRightClick sa Safari at Chrome.
- isyu Fix kung saan ang isang Ajax kahilingan sa IE minsan ay nagbabalik 1223 sa halip ng 204 na rin ang status code.
- Magdagdag Object.isDate.
- Handle mga kaso kung saan `document` o` document.documentElement` ay naipasa sa Element # getOffsetParent. Pag-aayos ng IE error sa maraming mga pamamaraan layout / positioning.
- I-wrap `element` sa` $ `para sa Element # cumulativeOffset, #viewportOffset, #positionedOffset, at #getOffsetParent.
Ano ang bago sa bersyon 1.7 RC3:
- Ito pang-maantala bersyon ay may kasamang ganap na suporta para sa Internet Explorer 9.
Ano ang bago sa bersyon 1.6.1:
- Iwasan ang naghuhudyat ng babala kapag Java ay hindi pinagana sa IE8 .
- Pasimplehin String # (un) escapeHTML at alisin ang kanilang mga DOM dependencies.
- I-update UnittestJS. Modifiy test template nang naaayon.
- Mag-alis kalabisan kung pahayag sa Element # readAttribute.
- Magdagdag ng mga nawawalang semicolon.
- Alisin mahal (para sa mga tulad ng mababang antas method) internal 'getClass' sa pabor ng plain string paghahambing
- Fix 'PeriodicalExecuter' upang hindi na ito suppresses eksepsiyon.
- Ayusin ang isyu na may kaugnayan sa escaping ng tagapili para querySelectorAll.
Ano ang bago sa bersyon 1.6.1_rc3:
- Ang Nakatakdang ng isang iba't ibang mga non-ASCII chars at mga katulad na
- Magdagdag Chrome 1+ sa listahan ng mga suportadong browser.
- Fix 'Template # suriin' & quot; kumakain & quot; nakaraang character kung 'null' ay bumalik na mula 'toTemplateReplacements' function.
- Tiyakin na (kulang) applet, OBJECT at embed elemento ay pinalawak na may kunwa pamamaraan sa IE8. Bumalik maaga kung '_extendedByPrototype' ay naroroon sa isang elemento.
- Palitan array paglikha at 'Array # include' na may isang mas mahusay na 'RegExp # test'.
- Ayusin ang paraan na 'ElementExtensions' ay tinukoy. Siguraduhin elemento na ginamit sa SpecificElementExtensions ay nalinis up.
- Tiyakin na $ A ay gumagana sa primitive mga halaga.
- Huwag browser sniff kapag forking 'unmark' function sa selector suite. Sa halip na gamitin ang isang tamang test -. PROPERTIES_ATTRIBUTES_MAP
- Huwag gumamit ng short-kamay elemento pamamaraan notation (@ element.getStyle () - & # x3e; Element.getStyle (@element)) para sa mga dahilan ng pagganap. Huwag gumamit ng '$ A' at 'Array.prototype.shift' kapag 'Array.prototype.slice' ay maaaring gamitin sa halip.
- 'Prototype.Browser.Opera' ngayon ay gumagamit ng malakas hinuha at tinutukoy sa pamamagitan ng [[Class]] ng 'window.opera' pagkatao - & quot;. Opera & quot;
- Fix error sa event.js na pumigil attaching higit sa isang responder para sa isang pangalan ng kaganapan / element na kumbinasyon.
- Huwag singhutin kapag pagsubok para ni IE proprietary mouseenter / mouseleave kaganapan support. Gamitin ang mas matatag hinuha sa halip.
- Gamitin ang 'Prototype.emptyFunction' patuloy na sa buong pagsusulit unit.
- tutol extension: mark Array # mabawasan () bilang dahil .
- 'Form.serialize' ay gumagana na ngayon ligtas na may mga form na may & quot; haba & quot;. -named Elemento
Ano ang bago sa bersyon 1.6.1_rc1:
- 'Element # update' ngayon ay tumatagal ng pag-aalaga ng SCRIPT elemento sa IE.
- Alisin ang hindi nagamit lokal na mga variable mula sa 'Element.extend'. Ayusin ang isa sa mga pagsusulit form na ito upang alisin ang '_extendedByPrototype' sa pamamagitan ng setting na ito sa 'hindi natukoy na' sa halip na 'mali' ( '_extendedByPrototype' pagiging 'false' ay hindi puwersahin 'Element.extend' upang muling i-extend elemento).
- Gumawa test para sa 'escapeHTML' / 'unescapeHTML' mas mahigpit. (Chrome 1.x escapes & quot; & # x3c; & quot; at & quot; && quot; sa 'innerHTML', ngunit hindi & quot; & # x3e; & quot;)
- Mag-alis ng isa pang sniffing mula sa isa sa mga pagsusulit DOM. Pag-aayos ng huling IE8 failure.
- 'Element.extend' ngayon ay siyang bahala sa IE8 bug kapag HTMLAppletElement at HTMLObjectElement mga bagay ay hindi magmamana ng mula sa 'Element.prototype'.
- Fix DOM pagsubok upang gamitin ang tamang test na anyo kapag pagsubok 'setOpacity'
- Ayusin ang isa pang kabiguan sa IE8, 'para sa' / 'htmlFor' {get / set} Attribute pagsasalin.
- Fix 'Element # writeAttribute' at 'Element # readAttribute' pagkabigo sa IE8 dahil sa kakulangan ng tamang testing tampok na ito.
- Mag-alis sniffing mula sa isa sa mga pagsusulit DOM, na ginawa pagkabigo sa IE8.
- Fix 'Form.reset' test kung saan 'respondsTo' ay hindi nakakita ng isang paraan dahil sa typeof bumabalik & quot; bagay & quot; (Sa halip na & quot; pag-andar & quot;) sa IE
- Mag-alis Array # mabawasan na kasalukuyang Sinasapawan katutubong 'mabawasan' sa mga kliyente sa pagpapatupad JS1.8, hal Firefox 3 +
- Tiyakin na subukan / catch / sa wakas ay ginagamit sa halip ng subukan / sa wakas para sa mga kliyente na walang suporta para sa huli isa (halimbawa Blackberry, IE)
- Gamitin ang 'in' operator kapag ina-access sa ari-arian ng isang nodelist upang maiwasan Safari & # x3c; = 2.0.4 mula sa crashing
- Magdagdag Element # clone bilang isang ligtas na wrapper ng mga katutubong 'cloneNode'.
- Magdagdag pagsubok upang matiyak IE8 maayos ay nagtatalaga ng isang klase ng pangalan sa 'Element' constructor.
- Mag-alis sniffing mula sa 'Element' kapag-detect sirang 'setAttribute' sa IE.
- Mag-alis sniffing mula sa 'Element.update' sumasanga sa pabor ng tampok detection.
- Mag-alis sniffing kapag sumasanga 'escapeHTML' at 'unescapeHTML'.
- Redefine Element # down sa IE 6-7 upang maiwasan ang pagpapalawak lahat ng inapo kapag walang selector ay ibinigay.
- Reverse ang mga kahulugan ng Kaganapan # pointer (X | Y) at Kaganapan # pointer upang maiwasan ang mga hindi kinakailangang pag-compute .
- Magdagdag primera klaseng suporta para sa 'mouseenter' at 'mouseleave' kaganapan sa mga di-IE browser (IE sumusuporta sa kanila natively).
- Tiyakin na '_extendedByPrototype', '_countedByPrototype', at 'prototypeUID' node expandos ay na-access sa 'typeof' upang maiwasan ang mga error sa ilang mga kapaligiran.
- Ayusin ang isyu kung saan Opera 9.x nagbabalik hindi tamang resulta sa ilang mga query Selector may descendant combinators.
- Walang bisa out patungkol sa mga elemento sa cache sa pahina magdiskarga. Kailangan ito sa karagdagan sa mga Kaganapan # stopObserving tawag upang linisin ang leaks memory.
- Tiyakin 'toString' at 'valueOf' properties ay kinopya sa isang subclass lamang kapag kinakailangan sa IE6.
- Tiyakin na 'getAttribute' ay ginagamit nang walang bandila kapag-access ang & quot; i-type ang & quot; katangian ng isang iframe (IE throws error kung hindi man).
- String # gsub dapat makatakas RegExp metacharacters kapag ang unang argument ay isang string.
- Fix pagkakasunud-sunod ng kapalit sa String # unescapeHTML
- Ayusin ang isyu kung saan ang isang Tagapili query nakaugat sa isang node na ay hindi pa naka-attach sa ang dokumento nabigo sa IE.
- Fix Selector upang tumugma elemento na may mga katangian na naglalaman ng gitling.
- Tiyakin Form.reset laging nagbabalik ng isang reference sa receiver sangkap.
- Escape & quot;: & quot; at & quot;. & quot; character kapag ginagawa contextual pagpili CSS sa mga browser na sumusuporta querySelectorAll.
- Tiyakin na ang 'target' ari-arian sa mga kaganapan ay hindi kailanman hindi natukoy na sa IE.
- Tiyakin Element # descendants palaging nagbabalik ng isang array.
- Huwag bubuksan nakapirming mga elemento posisyon upang absolute in Element.getDimensions
- Iwasan walang hanggan loops kapag tumatawag String # sub na may laman ang pattern
- Lumipat sa Sprockets sa pagtatayo ng Prototype distfiles.
- Buksan ang Object.is (Array | String | Number) upang gamitin ang malaking-malaki-superior diskarte natuklasan sa pamamagitan Juriy .
- Ang karagdagang pag-aayos upang matiyak Object.is (String | Number) huwag itapon eksepsiyon sa host bagay sa IE .
- Tiyakin Enumerable # grep maaaring panghawakan string na may RegExp metacharacters.
- Lumipat sa & quot; doScroll diskarte & quot; para sa mga dom. load pasadyang kaganapan
- I-optimize ang document.viewport.get (Dimensions | Lapad | Taas).
- Ayusin ang isyu kung saan Object # isString at Object # isNumber return false para String at Numero & quot; wrapper & quot; mga bagay.
- Set document.loaded = true bago pagpapaputok dom:. Load pasadyang kaganapan
- Payagan Element # tindahan upang tanggapin ang isang bagay na naglalaman ng ilang mga susi / value pairs.
- Baguhin ang Element # store upang ibalik ang elemento mismo (para chaining).
- Magdagdag non-bulubok custom na kaganapan. Ang isang bagong final argument sa Element # apoy nagde-default sa 'tunay'; pumasa 'mali' upang maiwasan ang bulubok kapag pagpapaputok ng isang pasadyang kaganapan.
- Alter sistema ng kaganapan upang gamitin ang bagong elemento imbakan API sa halip na magkaroon ng sarili nitong global hashtable.
- Magdagdag Element # tindahan at Element # kunin para sa ligtas, hash-back imbakan ng elemento metadata (walang memory leaks). Ring magdagdag ng Element # getStorage para sa nagtatrabaho sa storage hash ng elemento ng direkta. Hat tip:. Mootools
- isyu Fix kung saan ang ilang mga bersyon ng Safari pangalan treat klase case-insensitively sa Selector / $$ query.
- isyu Fix kung saan Function # argumentNames ibinalik hindi tamang resulta sa IE kapag komento ay intermixed sa mga pangalan argument.
- Selector.patterns dapat na kinakatawan bilang isang iniutos istraktura.
- Pagpapahusay ng Pagganap sa Function pamamaraan
Kinakailangan
- JavaScript pinagana sa client side
Mga Komento hindi natagpuan