Od czasu swojej premiery, Prototype stał się jednym z najbardziej uznawane i używane ram JavaScript ok.
Prototyp nie jest zalecany dla małych projektów (jak na stronie 3 strony), ale jest idealny dla większych witryn lub JS-powered aplikacji internetowych, głównie ze względu na jego większy rozmiar kodu.
Ramy zostało przetestowane i współpracuje z Mozilla Firefox 1.5+, Internet Explorer 6+, Safari, Opera 9.25+ 2.0.4+ i Google Chrome 1 +.
To daje programistom dużą swobodę w tworzeniu aplikacji na różnych przeglądarkach, który działa szereg scenariuszy
Co nowego w tej wersji.
- Aktualizacja do najnowszej wersji Sizzle dla lepszej wydajności i rozwiązać kilka problemów, które widzieliśmy w środowisku naturalnym.
- Naprawiono problem w ostatnich wersjach IE, gdzie wewnętrzna kontrola zdolności został przypadkowo wywołując & quot; Ta strona używa Java & quot; dialogowe.
- Poprawiono kilka drobnych problemów w dom- i metod związanych layoutu.
Co nowego w wersji 1.7.2.0:
- Updated~~HEAD=pobj~~V do najnowszej wersji Sizzle dla lepszej wydajności i naprawić kilka problemów, które widzieliśmy w środowisku naturalnym.
- Naprawiono problem w ostatnich wersjach IE, gdzie wewnętrzna kontrola zdolności został przypadkowo wywołując & quot; Ta strona używa Java & quot; dialogowe.
- Poprawiono kilka drobnych problemów w dom- i metod związanych layoutu.
Co nowego w wersji 1.7.1.0:
- DOM~~HEAD=pobj przepisanie
- Kompatybilność ECMAScript 5
- Naprawiono błąd z Element.setOpacity który jest przyczyną problemów w IE9 i nadchodzącego IE10.
- Poprawiono sposób możemy serializowania wartości formularza być dokładniejsza na sposób pracy przeglądarek.
Co nowego w wersji 1.7:
- Upewnij `Element # update` współpracuje z zawartością ciąg, który zawiera tag LINK w programie Internet Explorer.
- Traktuj status HTTP 304 jako udanej odpowiedzi.
- Uchwyt rozrzedzone tablice prawidłowo `Array # _each` dopasować zachowanie z wbudowanym` Array # forEach` przeglądarek (i ES5).
- `Event.extend` pracy z dotychczasowych wydarzeń w IE IE 9.
- Zatrzymaj Dołączanie `& _ =` dla parametrów non-GET żądań Ajax w Safari. My już nie obsługuje żadnej wersji Safari, dla których jest to konieczne.
- Upewnij `Form.focusFirstElement` nie wzbudza wyjątek w formach bez żadnych pól.
- Zdefiniuj `własność relatedTarget` na dłuższy wydarzeń mouseenter / mouseLeave w systemie zdarzeń Legacy IE.
- Fix dziwne zachowanie z `nowy element ( 'Select')` w IE6-7.
- Rozszerz elementy przycisk ze wszystkiego określonym w Form.Element.Methods. Upewnić elementy przycisku wykonują ruch w Form.getElements i szeregowane w Form.serialize.
- Upewnij Object.isFunction zwraca `FALSE dla obiektów RegExp.
- Przywróć Opera specyficzne zachowanie za nazwanie elementu # getStyle z. (Left | right | Top | dołu)
- Naprawiono problem z Event # isMiddleClick i #isRightClick z Safari i Chrome.
- Naprawiono problem, gdzie żądania Ajax w IE czasem powraca 1223 zamiast 204 jak kod stanu.
- Dodaj Object.isDate.
- Uchwyt przypadki gdzie `document` lub` document.documentElement` przechodzi do elementu # getOffsetParent. Poprawiono błędy IE z wielu metod Układ / pozycjonowania.
- Wrap `element` w` $ 'dla elementu # cumulativeOffset, #viewportOffset, #positionedOffset i #getOffsetParent.
Co nowego w wersji 1.7 RC3:
- To długo opóźniona wersja zawiera pełne wsparcie dla Internet Explorer 9.
Co nowego w wersji 1.6.1:
- Unikaj wyzwalanie ostrzeżenie, gdy Java jest wyłączony w IE8 .
- Uproszczenie String # (un) escapeHTML i usunąć ich zależności DOM.
- Aktualizacja UnittestJS. Modifiy testu szablon odpowiednio.
- Usuń zbędne if w Element # readAttribute.
- Dodaj brakujących średników.
- Usuń drogie (dla takiej metody niskiego poziomu) wewnętrznego "getClass 'na rzecz zwykłego porównania ciągów
- Fix 'PeriodicalExecuter' tak, że już nie tłumi wyjątki.
- Naprawiono problem związany z ucieczką selektorów dla querySelectorAll.
Co nowego w wersji 1.6.1_rc3:
- Poprawiono wiele znaków spoza ASCII i podobne
- Dodaj Chrome 1+ do listy obsługiwanych przeglądarek.
- Fix "Szablon oceny '& quot; jedzenie & quot; poprzedni znak if 'null' został zwrócony przez funkcję "toTemplateReplacements.
- Upewnij się, że (niedoborem) applet, object i embed elementy zostały rozszerzone o symulowanych metod w IE8. Powrót na początku, jeśli '_extendedByPrototype "jest obecny na elemencie.
- Wymień tworzenie tablicy i 'Array # include' z bardziej efektywnego testu RegExp '#'.
- zreorganizować sposób są określone "ElementExtensions '. Upewnij się, że elementy stosowane w SpecificElementExtensions są czyszczone.
- Upewnij się, że $ A działa z wartościami prymitywnych.
- Nie przeglądarka sniff kiedy rozwidlone Funkcja "odznaczyć" w apartamencie selektora. Zamiast używać odpowiedniego testu. - PROPERTIES_ATTRIBUTES_MAP
- Nie stosować metody elementów notacji short-hand (@ element.getStyle () - & # x3e; Element.getStyle (@element)) ze względu na wydajność. Nie należy używać '$ a' i 'Array.prototype.shift' kiedy 'Array.prototype.slice "może być stosowany zamiast.
- 'Prototype.Browser.Opera' teraz używa silniejszego wnioskowania i jest określana przez [[Class]] bytu "window.opera '- & quot;. Opera & quot;
- Błąd Fix w event.js co uniemożliwiło dołączanie więcej niż jednego odpowiadającym za nazwa zdarzenia / kombinacji elementów.
- Nie powąchać podczas testowania wsparcia IE zastrzeżonych mouseenter / mouseLeave zdarzeń. Użyj bardziej wydajny zamiast wnioskowanie.
- Użyj 'Prototype.emptyFunction' konsekwentnie w całym testów jednostkowych.
- Rozszerzenie deprecation: Znak Array # zmniejszyć (), jak usunąć .
- 'Form.serialize "działa teraz bezpiecznie z formularzami, które mają długość & quot; & quot;. Elementów -named
Co nowego w wersji 1.6.1_rc1:
- 'Element # update' teraz zajmuje SCRIPT elementy w IE.
- Usuń nieużywane zmienne lokalne z "Element.extend". Fix jeden z testów formularz, aby usunąć '_extendedByPrototype "poprzez ustawienie go na" nieokreślony "zamiast" false "(" _extendedByPrototype "będącym" false "nie zmusza" Element.extend "ponownie rozszerzyć element).
- test na 'escapeHTML' / 'unescapeHTML "bardziej surowe. (Chrome 1.x ucieka & quot; & # x3c; & quot; i & quot; && quot; z "innerHTML", ale nie & quot; & # x3e; & quot;)
- Usuń kolejny wąchania jednego z testów DOM. Poprawki ostatnia awaria IE8.
- 'Element.extend' teraz zajmuje IE8 błędu przy HTMLAppletElement i HTMLObjectElement obiekty nie dziedziczą "Element.prototype".
- Testy Fix DOM użyć odpowiedniego testu funkcji podczas testowania "setOpacity '
- Fix kolejnej porażki w IE8, 'dla' / 'htmlFor' {get / set} Atrybut tłumaczeniem.
- Fix 'Element # writeAttribute' i awarie 'Element' # readAttribute w IE8 ze względu na brak odpowiedniego testowania funkcji.
- Usuń wąchania jednego z testów DOM, które produkowane niepowodzeń w IE8.
- Fix test "Form.reset 'gdzie' respondsTo 'nie wykrywa metodę ze względu na typeof powrocie & quot; obiekt & quot; (Zamiast & quot; & quot; funkcję w IE)
- Usuń Array # zmniejszyć który obecnie zastępuje natywny "zmniejszyć" w klientach realizacji JS1.8, np Firefox 3 +
- Upewnij try / catch / wreszcie jest używany zamiast try / końcu dla klientów bez wsparcia dla tego ostatniego (np Blackberry, IE)
- Użyj 'in' operatora podczas dostępu własność listą węzłów aby zapobiec Safari & # x3c = 2.0.4 z upaść
- Dodaj Element # klona jako bezpiecznego owinięcia natywnego "cloneNode".
- Dodaj testy, aby zapewnić IE8 poprawnie przypisuje nazwę klasy w konstruktorze "element".
- Usuń wąchania z "elementu" podczas wykrywania łamany "setAttribute" w IE.
- Usuń wąchania z "Element.update 'rozgałęzienia na rzecz wykrywania obiektów.
- Usuń wąchania, gdy rozgałęzienie "escapeHTML 'i' unescapeHTML".
- Redefine Element # w IE 6-7 uniknąć rozszerzenie wszystkich potomków gdy nie selektor jest podana.
- Rewers definicje Event # wskaźnika (X | Y) oraz Event # wskaźnika, aby uniknąć niepotrzebnego obliczenia .
- Dodaj wsparcie dla pierwszej klasy "mouseenter" i "mouseLeave" wydarzeń w przeglądarkach innych niż IE (IE je obsługuje natywnie).
- Upewnij się, '', '_extendedByPrototype _countedByPrototype' oraz '' expandos prototypeUID węzłów są dostępne z '' typeof celu uniknięcia błędów w niektórych środowiskach.
- Naprawiono problem, gdzie Opera 9.x zwraca nieprawidłowe wyniki w niektórych zapytań Selector z potomnych kombinatorów.
- Null się odniesienia do elementów w pamięci podręcznej na stronie rozładować. Potrzeba ta oprócz Event # stopObserving wzywa do czyszczenia wycieków pamięci.
- Upewnij 'toString' i 'Właściwości' valueOf są kopiowane do podklasy tylko w razie konieczności w IE6.
- Upewnij się, że "getAttribute" jest używany bez flagi podczas dostępu do & quot; rodzaj & quot; atrybutem iframe (IE zgłasza błąd inaczej).
- String # gsub powinien uciec metaznaki RegExp gdy pierwszy argument jest ciągiem znaków.
- Kolejność Fix wymiany w String # unescapeHTML
- Naprawiono problem, gdzie zapytanie Selector zakorzenione w węźle, który nie został dołączony do dokumentu nie powiodło się w IE.
- Selektor Fix dopasować elementy z atrybutami zawierające łączniki.
- Upewnij Form.reset zawsze zwraca referencję do elementu odbiorczego.
- Ucieczka & quot;: & quot; i & quot;. & quot; Znaki robiąc kontekstowe wybór CSS w przeglądarkach obsługujących querySelectorAll.
- Upewnij się, że "docelową" obiekt na imprezach nie jest niezdefiniowane w IE.
- Upewnij Element # potomków zawsze zwraca tablicę.
- Nie włączać elementy stałej pozycji absolutnej w Element.getDimensions
- Unikaj nieskończonej pętli przy wywołaniu String # sub z pustym wzór
- Przejdź do Koła łańcuchowe dla budowania pliki ze źródłem prototypu.
- Włącz Object.is (array | String | Number) używać znacznie podwyższonym standardzie podejście odkryta przez Juriy .
- Dalsze poprawki w celu zapewnienia Object.is (String | Number) nie generują wyjątki dotyczące obiektów goszczących w IE .
- Upewnij Enumerable # grep może obsłużyć struny metaznakami RegExp.
- Przejdź do & quot; doScroll podejścia & quot; za dom. załadowana zdarzenia niestandardowego
- Optymalizacja document.viewport.get (wymiary | Szerokość | Wysokość).
- Naprawiono problem gdzie Obiekt # isString i Obiekt # ISNUMBER return false na ciąg i numer & quot; owijki & quot; obiekty.
- Zestaw document.loaded = true przed wypalaniem DOM. Załadowane niestandardowe zdarzenie
- Zezwalaj Element # sklepu aby zaakceptować obiekt zawierający kilka par klucz / wartość.
- Zmień Element # przechowywać do powrotu samego elementu (łańcuchowym).
- Add-bubbling non zdarzeń niestandardowych. Nowa ostatni argument do domyślnych # Element ognia na 'true'; mijają 'false', aby zapobiec pęcherzyków przy ostrzale zdarzenia niestandardowego.
- System zdarzeń Alter używać nowego magazynu elementem API niż mieć swój własny globalny hashtable.
- Dodaj element # # Element przechowywania i bezpiecznego pobierania, hash-backed przechowywania metadanych element (nie ma wycieków pamięci). Również dodać Element # getStorage do pracy z pamięci asocjacyjnej elementu bezpośrednio. Cynk kapelusza. Mootools
- Naprawiono problem gdzie pewne wersje nazw Safari klasy uczta rozróżniana wielkość liter w Selector / $$ zapytania.
- Naprawiono problem gdzie Funkcja # argumentNames powrócił nieprawidłowych wyników w IE, gdy zostały zmieszane z uwagi nazw argumentów.
- Selector.patterns powinna być reprezentowana jako uporządkowaną strukturę.
- Poprawiono wydajność metod funkcyjnych
Wymagania :
- włączona obsługa JavaScript po stronie klienta li>
Komentarze nie znaleziono