De la lansarea sa, prototip a devenit una dintre cele mai apreciate și cadre utilizate JavaScript în jurul valorii.
prototip nu este recomandat pentru proiecte mici (cum ar fi un site de 3 pagini), dar este perfect pentru site-uri mai mari sau aplicații Web JS-reglaj electric, în principal datorită dimensiunii sale de cod mai mare.
Cadrul a fost testat și lucrul cu Mozilla Firefox 1.5+, Internet Explorer 6+, Safari 2.0.4+, Opera 9.25+ și Google Chrome 1 +.
Acest lucru va oferi dezvoltatorilor o marjă de manevră mare în crearea de aplicații cross-browser care funcționează o gamă largă de scenarii
Ce este nou în această versiune:.
- actualizat la cea mai recentă versiune a sfârâie pentru o performanță mai bună și pentru a rezolva câteva problemele pe care le-am vazut in salbaticie.
- Fixed o problemă în versiunile recente ale IE în cazul în care o verificare a capacității interne a fost din neatenție declanșând un & quot; Această pagină utilizează Java & quot; dialog.
- Fixed o serie de mici probleme în DOM- și metode legate de aspect.
Ce este nou în versiunea 1.7.2.0:
- Updated~~V la cea mai recentă versiune a sfârâie pentru o performanță mai bună și pentru a rezolva câteva problemele pe care le-am vazut in salbaticie.
- Fixed o problemă în versiunile recente ale IE în cazul în care o verificare a capacității interne a fost din neatenție declanșând un & quot; Această pagină utilizează Java & quot; dialog.
- Fixed o serie de mici probleme în DOM- și metode legate de aspect.
Ce este nou în versiunea rescriere 1.7.1.0:
- DOM
- ECMAScript 5 compatibilitate
- Fixed un bug cu Element.setOpacity care a fost cauza probleme în IE9 și viitoarea IE10.
- Fixed modul în care serializam valori formular care să fie mai precis la modul în care lucrează browserele.
Ce este nou în versiunea 1.7:
- Asigurați-vă că `Element # update` funcționează cu un conținut șir de caractere care include o etichetă LINK în Internet Explorer.
- Se tratează o stare de 304 HTTP ca un raspuns de succes.
- Se va manipula tablouri rare în mod corespunzător `Array # _each` pentru a se potrivi comportamentul cu browsere de" built-in `Array # forEach` (și ES5).
- Asigurați-vă `Event.extend` de lucru cu evenimente mai vechi de IE în IE 9.
- Oprire `& _ Adăugarea =` la parametrii de bază non-GET cereri de Ajax în Safari. Nu mai acceptăm nici o versiune Safari pentru care acest lucru este necesar.
- Asigurați-vă că `Form.focusFirstElement` nu ridică o excepție de la formulare cu câmpuri.
- Definiți un `proprietate relatedTarget` la evenimente extinse mouseenter / mouseleave în sistemul de evenimente moștenire a IE.
- Fix comportament ciudat cu `noul element ( 'select')` în IE6-7.
- Extindere elemente de buton cu totul definit în Form.Element.Methods. Asigurați-vă că elementele de buton sunt traversate în Form.getElements și serializate în Form.serialize.
- Asigurați-vă că Object.isFunction se întoarce `FALSE pentru obiecte RegExp.
- Comportamentul Revocați Opera specific pentru apelare Element # getStyle cu. (Din stânga | dreapta | sus | de jos)
- Fix problemă cu Event # isMiddleClick și #isRightClick pe Safari și Chrome.
- Fix problemă în cazul în care o cerere Ajax în IE returnează uneori 1223 în loc de 204 ca codul de stare.
- Adăugați Object.isDate.
- cazuri în care `Manevrați document` sau` document.documentElement` este trecut în Element # getOffsetParent. Erori Fixat IE cu multe metode de dispunere / poziționare.
- Wrap `element` în` $ `pentru elementul # cumulativeOffset, #viewportOffset, #positionedOffset și #getOffsetParent.
Ce este nou în versiunea 1.7 RC3:
- Această versiune mult întârziată include suport complet pentru Internet Explorer 9.
Ce este nou în versiunea 1.6.1:
- A se evita declanșarea unui avertisment atunci când Java este dezactivat în IE8 .
- Simplify String # (ne) escapeHTML și elimina dependențele DOM.
- Actualizare UnittestJS. șablon de test modifiy în mod corespunzător.
- Eliminați redundant în cazul în care declarația în Element # readAttribute.
- Adăugați semicoloane lipsă.
- Eliminați scump (pentru o astfel de metodă de nivel scăzut) intern "getClass" în favoarea comparație șir simplu
- Fix "PeriodicalExecuter", astfel încât să nu mai suprimă excepții.
- Fix problemă referitoare la evadarea din selectori pentru querySelectorAll.
Ce este nou în versiunea 1.6.1_rc3:
- Fixed o varietate de caractere non-ASCII și similare
- Adăugați Chrome 1+ la lista de browsere acceptate.
- Fix "Template # evalua '& quot; manca & quot; caracterul precedent în cazul în care "nul" a fost returnat din functia 'toTemplateReplacements'.
- Asigurați-vă că (deficit) elemente APPLET, obiect si sunt extinse cu de încorporare metode simulate în IE8. Întoarcere devreme, dacă '_extendedByPrototype' este prezentă pe un element.
- Înlocuiți crearea de matrice și "Array # include" cu un "test de # regexp" mai eficient.
- Reorganizați modul în care sunt definite "ElementExtensions". Asigurați-vă că elementele utilizate în SpecificElementExtensions sunt curățate.
- Asigurați-vă că $ A funcționează cu valori primitive.
- Nu browser-ul pufnitură când bifurcarea funcția 'Nemarcata' în Suite-selectorului. utilizați în loc un test propriu-zis. - PROPERTIES_ATTRIBUTES_MAP
- Nu utilizați scurt manual metode de element de notare (@ element.getStyle () - & # x3e; Element.getStyle (@element)) din motive de performanță. Nu utilizați "$ A" și "Array.prototype.shift" când "Array.prototype.slice" poate fi folosit în loc.
- 'Prototype.Browser.Opera' folosește acum inferență mai puternică și este determinată de [[clasa]] de a fi "window.opera '- & quot;. Opera & quot;
- Eroare Fix în event.js care a împiedicat atașarea mai mult de un răspuns pentru un nume de eveniment / combinație de elemente.
- Nu miroasă când testarea pentru mouseenter / suport de proprietate evenimente mouseleave IE. Utilizați inferență mai robust în loc.
- Utilizarea "Prototype.emptyFunction" în mod constant pe parcursul testelor unitare.
- prelungire dezaprobare: marca Array # reduce (), astfel cum a îndepărtat .
- 'Form.serialize' funcționează acum în condiții de siguranță, cu forme care au o lungime & quot; & quot;. Elemente -named
Ce este nou în versiunea 1.6.1_rc1:
- 'Element # update "are acum grijă de SCENARIU elemente în IE.
- Eliminați variabilele locale neutilizate din "Element.extend". Fix-unul dintre testele de formular pentru a elimina "_extendedByPrototype", prin fixarea la "nedefinit", mai degrabă decât ( "_extendedByPrototype" fiind "fals" nu forțează "Element.extend" pentru elementul re-prelungi) "fals".
- Asigurați-test pentru 'escapeHTML' / 'unescapeHTML' mai stricte. (Chrome 1.x scapă & quot; & # x3c; & quot; și & quot; && quot; cu 'innerHTML', dar nu & quot; & # x3e; & quot;)
- Eliminați o altă sniffing dintr-unul din testele DOM. Corecții ultimul eșec IE8.
- "Element.extend" are acum grijă de IE8 bug atunci când HTMLAppletElement și HTMLObjectElement obiectele nu moștenesc de la 'Element.prototype'.
- teste Fix DOM pentru a utiliza test de caracteristica corespunzătoare în timpul încercării "setOpacity '
- Fix un alt eșec în IE8, 'pentru' / 'htmlFor' {get / set} traducere atribut.
- Fix "Element # writeAttribute" și eșecuri "Element # readAttribute" în IE8 din cauza lipsei de testare corespunzătoare facilitate.
- Eliminați sniffing de la unul dintre testele DOM, care a produs eșecuri în IE8.
- Fix test de "Form.reset" în cazul în care "respondsTo" nu s-ar detecta o metodă din cauza typeof întoarcere & quot; obiect & quot; (Mai degrabă decât & quot; funcția & quot;) în IE
- Remove Array # reduce în prezent care prevalează nativ "reduce" clienții în punerea în aplicare a JS1.8, de ex Firefox 3 +
- Asigurați-vă că try / catch / în cele din urmă este folosit în loc de a incerca / în cele din urmă pentru clienții care nu au suport pentru acesta din urmă (de exemplu Blackberry, IE)
- Utilizarea "în" operator când se accesează proprietatea unui nodelist pentru a preveni Safari & # x3c; = 2.0.4 de la crashing
- Adăugați Element # clona ca un înveliș în condiții de siguranță "cloneNode" nativ.
- Adăugați teste pentru a se asigura IE8 atribuie în mod corespunzător un nume de clasă în constructorului "Element".
- Eliminați sniffing din "Element" atunci când detectarea "setAttribute" rupt în IE.
- Eliminați adulmecând de la "Element.update" ramificare în favoarea detecție caracteristică.
- Eliminați sniffing atunci când ramificarea 'escapeHTML' și 'unescapeHTML'.
- Redefinire Element # în IE 6-7, pentru a evita extinderea toți descendenții atunci când este dat nici selectorului.
- Reverse definițiile evenimentului # pointer (X | Y) și Event # pointer pentru a preveni calcul inutile .
- Adăugați un suport de primă clasă pentru "mouseenter" și evenimente "mouseleave" în browsere non-IE (IE le suportă nativ).
- Asigurați-vă că '_extendedByPrototype', '_countedByPrototype' și expandos de nod "prototypeUID" sunt accesate cu 'typeof' pentru a preveni erorile în unele medii.
- Fix problemă în cazul în care Opera 9.x returnează rezultate incorecte cu privire la anumite interogări de sistem de selectare cu combinatoare descendentă.
- Null trimiterile la elemente în memoria cache la pagina de descărcare. Au nevoie de acest lucru, în plus față de Event # stopObserving apeluri pentru a curăța scurgerile de memorie.
- Asigurați-vă că "toString" și proprietăți "valueOf" sunt copiate numai atunci când este necesar o subclasă în IE6.
- Asigurați-vă că "getAttribute" este folosit fără pavilion la accesarea & quot; tipul & quot; atribut al unui iframe (IE aruncă eroare în alt mod).
- String # gsub ar trebui să scape de metacaractere RegExp când primul argument este un șir de caractere.
- Fix ordinea de înlocuire în șir # unescapeHTML
- Fix problemă în cazul în care o interogare de selectare înrădăcinată pe un nod care nu a fost anexată la documentul a eșuat în IE.
- Selector Fix pentru a se potrivi elemente cu atribute care conțin cratime.
- Asigurați-vă că Form.reset returnează întotdeauna o referință la elementul receptor.
- Escape & quot;: & quot; și & quot;. & quot; caractere, atunci când faci selecție CSS contextuale în browsere care acceptă querySelectorAll.
- Asigurați-vă că proprietatea "țintă" cu privire la evenimente este niciodată nedefinit în IE.
- Asigurați-vă că Element # descendenții returnează întotdeauna o matrice.
- Nu comutați elementele cu poziție fixă la absolut în Element.getDimensions
- Evitați buclele infinite atunci de asteptare String # cu sub-model gol
- Comutare la Stelute pentru construirea Distfiles prototip.
- Comutare Object.is (Array | String | Numărul) să utilizeze abordarea cu mult superioare descoperit de Juriy .
- Mai multe corecții pentru a asigura Object.is (String | Number) nu arunca excepții asupra obiectelor gazdă în IE .
- Asigurați-vă # grep enumerable poate manipula siruri de caractere cu metacaracterele RegExp.
- Comutare la & quot; abordarea doScroll & quot; pentru dom. încărcat eveniment personalizat
- Optimizați document.viewport.get (Dimensiuni | Lățime | Înălțime).
- Fix problemă în cazul în care Obiect # isString și Obiect # ISNUMBER return false pentru String si numarul & quot; înveliș & quot; obiecte.
- Set document.loaded = true înainte de ardere dom. Încărcate eveniment personalizat
- Permiteți # Element magazin pentru a accepta un obiect care conține mai multe perechi cheie / valoare.
- Schimbare Element # magazin pentru a returna elementul în sine (pentru înlănțuirea).
- Add-afânare non evenimente personalizate. Un nou argument final Element implicit # de foc "true"; treci "fals", pentru a preveni formarea de bule în cazul arderii unui eveniment personalizat.
- sistem de evenimente Alter pentru a utiliza noul API de stocare element de mai degrabă decât să aibă propria sa hashtable la nivel mondial.
- Adăugați Element # magazin și element de # prelua în condiții de siguranță pentru stocare, back-hash de metadate elementului (fără pierderi de memorie). De asemenea, se adaugă Element # getStorage pentru lucrul cu hash de stocare a elementului direct. Sfat pălărie:. Mootools
- să emită Fix în cazul în care anumite versiuni de nume de clase trata Safari caz-insenzitiv în Selector / $$ interogări.
- Fix problemă în cazul în care Functia # argumentNames returnat rezultate incorecte în IE atunci când observații s-au amestecat cu nume de argumente.
- Selector.patterns ar trebui să fie reprezentată ca o structură ordonată.
- îmbunătățiri de performanță ale metodelor funcționale
Cerințe :
- JavaScript activat pe partea de client
Comentariile nu a fost găsit