Dal suo lancio, Prototype è diventato uno dei framework JavaScript più considerato e utilizzato in tutto.
Prototype non è raccomandato per progetti di piccole dimensioni (come un sito web 3 pag), ma è l'ideale per i siti web più grandi o applicazioni Web JS-alimentati, dovuto principalmente alle sue dimensioni codice più grande.
Il quadro è stato testato e funzionante con Mozilla Firefox 1.5+, Internet Explorer 6, Safari 2.0.4+, Opera 9.25+ e Google Chrome 1 +.
Questo darà agli sviluppatori un grande margine di manovra nella creazione di applicazioni cross-browser che funziona una vasta gamma di scenari
Cosa c'è di nuovo in questa versione:.
- aggiornamento alla versione più recente di Sizzle per migliorare le prestazioni e di risolvere alcuni problemi che abbiamo visto in natura.
- Risolto un problema nelle versioni più recenti di Internet Explorer in cui una capacità di controllo interno è stato inavvertitamente innescare un & quot; Questa pagina utilizza Java & quot; finestra di dialogo.
- fissi una serie di piccoli problemi in Dom- e metodi relativi al layout.
Cosa c'è di nuovo nella versione 1.7.2.0:
- Updated~~V alla versione più recente di Sizzle per migliorare le prestazioni e di risolvere alcuni problemi che abbiamo visto in natura.
- Risolto un problema nelle versioni più recenti di Internet Explorer in cui una capacità di controllo interno è stato inavvertitamente innescare un & quot; Questa pagina utilizza Java & quot; finestra di dialogo.
- fissi una serie di piccoli problemi in Dom- e metodi relativi al layout.
Cosa c'è di nuovo nella versione 1.7.1.0:
- DOM riscrittura
- ECMAScript 5 compatibilità
- Risolto un bug con Element.setOpacity che stava causando problemi in IE9 e l'imminente IE10.
- fissi il nostro modo di serializzare i valori della forma per essere più preciso per il modo in cui i browser funzionano.
Cosa c'è di nuovo nella versione 1.7:
- Assicurarsi `elemento # update` lavora con contenuti stringa che include un tag LINK in Internet Explorer.
- Trattare uno stato 304 HTTP come una risposta positiva.
- Maniglia matrici sparse correttamente in `Array # _each` da abbinare comportamento con built-in` Array # foreach` browser '(e ES5).
- Fai `Event.extend` lavoro con precedenti eventi di IE in IE 9.
- Arresto appendendo `& _ =` ai parametri per la non-GET richieste Ajax in Safari. Non è più possibile alcuna versione di Safari per i quali la necessità.
- Assicurarsi `Form.focusFirstElement` non genera un'eccezione sulle forme senza campi.
- Definire una proprietà `relatedTarget` su eventi MouseEnter / MouseLeave estesi nel sistema di evento eredità di IE.
- Fix comportamento strano con `nuovo elemento ( 'selezionare')` in IE6-7.
- Estendere elementi pulsante con tutto definito Form.Element.Methods. Assicurarsi che gli elementi BUTTON sono attraversati in Form.getElements e serializzato in Form.serialize.
- Assicurarsi Object.isFunction torna `false` per gli oggetti RegExp.
- comportamento Revert Opera-specifica per chiamare l'elemento # getStyle con. (Left | right | alto | basso)
- problema Fix con Event # isMiddleClick e #isRightClick su Safari e Chrome.
- problema Fix in cui una richiesta Ajax in IE a volte ritorna 1.223 invece di 204 come il codice di stato.
- Aggiungi Object.isDate.
- casi Maniglia dove `` documento del o document.documentElement` viene passato l'elemento # getOffsetParent. errori Correzioni IE con molti metodi di layout / posizionamento.
- Avvolgere `element` in` `$ per l'elemento # cumulativeOffset, #viewportOffset, #positionedOffset, e #getOffsetParent.
Cosa c'è di nuovo nella versione 1.7 RC3:
- Questa versione lungo rimandato include il supporto completo per Internet Explorer 9.
Cosa c'è di nuovo nella versione 1.6.1:
- evitare di innescare un avviso quando Java è disabilitato in IE8 .
- Semplifica String # (ONU) escapeHTML e rimuovere le loro dipendenze DOM.
- Aggiorna UnittestJS. modello di prova modifiy di conseguenza.
- Rimuovi ridondante if in elemento # readAttribute.
- Aggiungi il punto e virgola mancanti.
- Rimuovi costoso (per tale metodo di basso livello) interno 'getClass' a favore di confronto di stringhe pianura
- Fix 'PeriodicalExecuter' in modo che non sia più sopprime eccezioni.
- problema Fix relative a fuga di selettori per querySelectorAll.
Cosa c'è di nuovo nella versione 1.6.1_rc3:
- fissi una serie di caratteri non-ASCII e simili
- Aggiungi Chrome 1+ alla lista dei browser supportati.
- Fix 'modello # valutano' & quot; mangiare & quot; carattere precedente se 'nulla' è stato restituito da funzione 'toTemplateReplacements'.
- Assicurarsi che gli elementi applet object ed embed (carenti) sono estesi con metodi simulati in IE8. Ritorna presto se è presente su un elemento '_extendedByPrototype'.
- Sostituire la creazione di array e 'Array # includono' con un più efficiente 'RegExp # test'.
- riorganizzare il modo vengono definiti 'ElementExtensions. Assicurarsi che gli elementi utilizzati in SpecificElementExtensions vengono ripuliti.
- Assicurarsi $ A lavora con valori primitivi.
- Non del browser annusare quando si biforcano funzione 'deselezionare' in suite selettore. Invece di utilizzare una vera e propria prova -. PROPERTIES_ATTRIBUTES_MAP
- Non utilizzare a breve mano metodi agli elementi di notazione (@ element.getStyle () - & # X3e; Element.getStyle (@element)) per motivi di prestazioni. Non utilizzare '$ A' e 'Array.prototype.shift' quando 'Array.prototype.slice' può essere usato al posto.
- 'Prototype.Browser.Opera' ora utilizza più forte deduzione ed è determinato da [[Classe]] dell'essere 'window.opera' - & quot;. Opera & quot;
- errore Fix in event.js che ha impedito il collegamento più di un risponditore per un nome evento combinazione / elemento.
- Non annusare durante il test per mouseLeave sostegno MouseEnter proprietaria di IE / eventi. Utilizzare inferenza più robusto, invece.
- Usa 'Prototype.emptyFunction' costantemente durante i test di unità.
- estensione deprecazione: marchio Array # riducono () come rimosso .
- 'Form.serialize' ora funziona in modo sicuro con le forme che hanno & quot; & quot; lunghezza. Elementi -named
Cosa c'è di nuovo nella versione 1.6.1_rc1:
- 'l'elemento # update' ora si prende cura di SCRIPT elementi in IE.
- Rimuovi le variabili locali non utilizzati da 'Element.extend'. Fissare una delle prove del modulo per rimuovere '_extendedByPrototype' impostandolo su 'undefined' piuttosto che 'falsa' ( '_extendedByPrototype' essere 'falsa' non forzare 'Element.extend' di ri-estendere elemento).
- make test per 'escapeHTML' / 'unescapeHTML' più severe. (Chrome 1.x sfugge & quot; & # x3c; & quot; e & quot; && quot; con 'innerHTML', ma non & quot; & # X3e; & quot;)
- Rimuovi un altro annusando da uno dei test DOM. Correzioni ultimo fallimento IE8.
- 'Element.extend' ora si prende cura di IE8 bug quando HTMLAppletElement e HTMLObjectElement oggetti non ereditano da 'Element.prototype'.
- test Fix DOM per l'uso di test funzione corretta quando testing 'setOpacity'
- fissare un altro fallimento in IE8, 'per' / 'htmlFor' {get / set} traduzione attributo.
- Fix 'l'elemento # writeAttribute' e fallimenti 'l'elemento # readAttribute' in IE8 a causa della mancanza di una corretta sperimentazione funzione.
- Rimuovi annusando da una delle prove DOM, che ha prodotto guasti in IE8.
- Fix test 'Form.reset' dove 'respondsTo' non rilevare un metodo a causa di typeof ritorno & quot; oggetto & quot; (Piuttosto che & quot; funzione & quot;) in IE
- Rimuovere Array # riducono che attualmente prevale nativo 'ridurre' a clienti attuazione JS1.8, ad esempio Firefox 3 +
- Assicurati try / catch / finally viene usato al posto di try / finally per i clienti senza supporto per quest'ultimo uno (ad esempio Blackberry, IE)
- Usa 'in' operatore quando si accede la proprietà di un NodeList per prevenire Safari & # x3c; = 2.0.4 da crash
- Aggiungi elemento # clone come un involucro di sicurezza di 'cloneNode' nativo.
- Aggiungi test per garantire IE8 assegna correttamente un nome di classe nel costruttore 'elemento'.
- Rimuovi sniffing da 'Element' quando rileva rotto 'setAttribute' in IE.
- Rimuovi sniffing da 'Element.update' ramificazione a favore di rilevamento funzione.
- Rimuovi sniffing quando ramificazione 'escapeHTML' e 'unescapeHTML'.
- Ridefinire l'elemento # giù in IE 6-7 per evitare di estendere tutti i discendenti quando non viene dato il selettore.
- Reverse le definizioni di Event # puntatore (X | Y) e Event # puntatore per evitare calcoli inutili .
- Aggiungere il supporto di prima classe per 'MouseEnter' ed eventi 'MouseLeave' in browser diversi da IE (IE li supporta in modo nativo).
- Assicurati che '_extendedByPrototype', '_countedByPrototype', e 'prototypeUID' expandos nodi sono accessibili con 'typeof' per evitare errori in alcuni ambienti.
- problema Fix dove Opera 9.x restituisce risultati non corretti in determinate query di selezione con combinatori discendenti.
- Null fuori riferimenti a elementi in cache a pagina scarico. Hai bisogno di questo in aggiunta alla Event # stopObserving chiamate a ripulire le perdite di memoria.
- Assicurare 'toString' e le proprietà 'valueOf' vengono copiati in una sottoclasse solo quando necessario in IE6.
- Assicurati che 'getAttribute' è utilizzato senza bandiera durante l'accesso al & quot; tipo & quot; attributo di un iframe (IE genera un errore in caso contrario).
- String # gsub dovrebbe fuggire metacaratteri RegExp quando il primo argomento è una stringa.
- ordine Fix di sostituzione nella stringa # unescapeHTML
- problema Fix in cui una query di selezione radicata su un nodo che non era stato allegato al documento non è riuscita in IE.
- Selector Fix per abbinare gli elementi con attributi che contiene i trattini.
- Assicurati Form.reset restituisce sempre un riferimento all'elemento ricevente.
- Escape & quot;: & quot; e & quot;. & quot; caratteri quando si fa la selezione CSS contestuale nei browser che supportano querySelectorAll.
- Assicurarsi che la proprietà 'bersaglio' su eventi non è mai undefined in IE.
- Verificare l'elemento # discendenti restituisce sempre un array.
- Non accendere posizionare gli elementi fissi di assoluta Element.getDimensions
- Evitare cicli infiniti quando si chiama String # sub con pattern vuoto
- Passa a Pignoni per la costruzione delle distfiles prototipo.
- Accendere Object.is (Array | String | Number) per utilizzare il metodo di gran lunga superior scoperto da Juriy .
- Ulteriore correzione per garantire Object.is (String | Number) non gettare eccezioni oggetti host in IE .
- Assicurarsi Enumerable # grep in grado di gestire le stringhe con metacaratteri RegExp.
- Passare al & quot; approccio doScroll & quot; per il dom:. caricato evento personalizzato
- Ottimizza document.viewport.get (Dimensioni | Larghezza | Altezza).
- problema Fix dove Object # IsString e Object # ISNUMBER ritorno false per String e Number & quot; involucro & quot; gli oggetti.
- Imposta document.loaded = true prima di sparare dom:. Caricato evento personalizzato
- Consentire l'elemento # negozio per accettare un oggetto contenente più coppie chiave / valore.
- Cambia l'elemento # negozio per restituire l'elemento stesso (per il concatenamento).
- Aggiungi eventi personalizzati non bubbling. Un nuovo argomento finale per Element default # fuoco a 'true'; passare 'false' per evitare ribollimento quando sparare un evento personalizzato.
- sistema di eventi Alter di utilizzare le nuove API di memorizzazione elemento piuttosto che avere una propria tabella hash globale.
- Aggiungi elemento # negozio e l'elemento # recuperare per il sicuro e hash-backed di elemento di metadati (perdite di memoria). Anche aggiungere l'elemento # getStorage per lavorare con hash stoccaggio dell'elemento direttamente. Punta di cappello:. Mootools
- problema Fix dove alcune versioni di nomi di classi trattamento Safari caso insensitively in Selector / $$ query.
- problema Fix in cui la funzione # argumentNames restituiti risultati non corretti in IE quando i commenti sono stati mescolati con nomi degli argomenti.
- Selector.patterns dovrebbe essere rappresentato come una struttura ordinata.
- I miglioramenti delle prestazioni in modalità di funzione
Requisiti :
- abilitato JavaScript sul lato client
I commenti non trovato