Prototype

Software Screenshot:
Prototype
Software Details:
Version: 1.7.3 updated
Upload Date: 10 Feb 16
Distribution Type: Freeware
Downloads: 30

Rating: 4.0/5 (Total Votes: 1)

Since its launch, Prototype has become one of the most regarded and used JavaScript frameworks around.

Prototype is not recommended for small projects (like a 3 page website), but is perfect for larger websites or JS-powered Web apps, mainly due to its larger code size.

The framework has been tested and working with Mozilla Firefox 1.5+, Internet Explorer 6+, Safari 2.0.4+, Opera 9.25+ and Google Chrome 1+.

This will give developers a large leeway in creating cross-browser apps that works a wide range of scenarios.

What is new in this release:

  • Updated to the latest version of Sizzle for better performance and to fix a few issues we've seen in the wild.
  • Fixed an issue in recent versions of IE where an internal capability check was inadvertently triggering a "This page uses Java" dialog.
  • Fixed a number of small issues in DOM- and layout-related methods.

What is new in version 1.7.2.0:

  • Updated to the latest version of Sizzle for better performance and to fix a few issues we've seen in the wild.
  • Fixed an issue in recent versions of IE where an internal capability check was inadvertently triggering a "This page uses Java" dialog.
  • Fixed a number of small issues in DOM- and layout-related methods.

What is new in version 1.7.1.0:

  • DOM rewrite
  • ECMAScript 5 compatibility
  • Fixed a bug with Element.setOpacity that was causing problems in IE9 and the upcoming IE10.
  • Fixed the way we serialize form values to be more accurate to the way browsers work.

What is new in version 1.7:

  • Ensure `Element#update` works with string content that includes a LINK tag in Internet Explorer.
  • Treat a 304 HTTP status as a successful response.
  • Handle sparse arrays properly in `Array#_each` to match behavior with browsers' built-in `Array#forEach` (and ES5).
  • Make `Event.extend` work with legacy IE events in IE 9.
  • Stop appending `&_=` to the parameters for non-GET Ajax requests in Safari. We no longer support any version of Safari for which this is necessary.
  • Ensure `Form.focusFirstElement` doesn't raise an exception on forms with no fields.
  • Define a `relatedTarget` property on extended mouseenter/mouseleave events in IE's legacy event system.
  • Fix odd behavior with `new Element('select')` in IE6-7.
  • Extend BUTTON elements with everything defined in Form.Element.Methods. Ensure BUTTON elements are traversed in Form.getElements and serialized in Form.serialize.
  • Ensure Object.isFunction returns `false` for RegExp objects.
  • Revert Opera-specific behavior for calling Element#getStyle with (left|right|top|bottom).
  • Fix issue with Event#isMiddleClick and #isRightClick on Safari and Chrome.
  • Fix issue where an Ajax request in IE sometimes returns 1223 instead of 204 as the status code.
  • Add Object.isDate.
  • Handle cases where `document` or `document.documentElement` is passed into Element#getOffsetParent. Fixes IE errors with many layout/positioning methods.
  • Wrap `element` in `$` for Element#cumulativeOffset, #viewportOffset, #positionedOffset, and #getOffsetParent.

What is new in version 1.7 RC3:

  • This long-delayed version includes full support for Internet Explorer 9.

What is new in version 1.6.1:

  • Avoid triggering a warning when Java is disabled in IE8.
  • Simplify String#(un)escapeHTML and remove their DOM dependencies.
  • Update UnittestJS. Modifiy test template accordingly.
  • Remove redundant if statement in Element#readAttribute.
  • Add missing semicolons.
  • Remove expensive (for such low-level method) internal 'getClass' in favor of plain string comparison
  • Fix 'PeriodicalExecuter' so that it no longer suppresses exceptions.
  • Fix issue related to escaping of selectors for querySelectorAll.

What is new in version 1.6.1_rc3:

  • Fixed a variety of non-ASCII chars and similar
  • Add Chrome 1+ to the list of supported browsers.
  • Fix 'Template#evaluate' "eating" previous character if 'null' was returned from 'toTemplateReplacements' function.
  • Make sure (deficient) APPLET, OBJECT and EMBED elements are extended with simulated methods in IE8. Return early if '_extendedByPrototype' is present on an element.
  • Replace array creation and 'Array#include' with a more efficient 'RegExp#test'.
  • Reorganize the way 'ElementExtensions' are defined. Make sure elements used in SpecificElementExtensions are cleaned up.
  • Make sure $A works with primitive values.
  • Do not browser sniff when forking 'unmark' function in selector suite. Instead use a proper test - PROPERTIES_ATTRIBUTES_MAP.
  • Do not use short-hand element methods notation (@element.getStyle() -> Element.getStyle(@element)) for performance reasons. Do not use '$A' and 'Array.prototype.shift' when 'Array.prototype.slice' can be used instead.
  • 'Prototype.Browser.Opera' now uses stronger inference and is determined by [[Class]] of 'window.opera' being - "Opera".
  • Fix error in event.js which prevented attaching more than one responder for an event name/element combination.
  • Do not sniff when testing for IE's proprietary mouseenter/mouseleave events support. Use more robust inference instead.
  • Use 'Prototype.emptyFunction' consistently throughout unit tests.
  • deprecation extension: mark Array#reduce() as removed.
  • 'Form.serialize' now works safely with forms that have "length"-named elements.

What is new in version 1.6.1_rc1:

  • 'Element#update' now takes care of SCRIPT elements in IE.
  • Remove unused local variables from 'Element.extend'. Fix one of the form tests to remove '_extendedByPrototype' by setting it to 'undefined' rather than 'false' ('_extendedByPrototype' being 'false' does not force 'Element.extend' to re-extend element).
  • Make test for 'escapeHTML'/'unescapeHTML' more strict. (Chrome 1.x escapes "<" and "&" with 'innerHTML', but not ">")
  • Remove another sniffing from one of DOM tests. Fixes last IE8 failure.
  • 'Element.extend' now takes care of IE8 bug when HTMLAppletElement and HTMLObjectElement objects do not inherit from 'Element.prototype'.
  • Fix DOM tests to use proper feature test when testing 'setOpacity'
  • Fix another failure in IE8, 'for'/'htmlFor' {get/set}Attribute translation.
  • Fix 'Element#writeAttribute' and 'Element#readAttribute' failures in IE8 due to lack of proper feature testing.
  • Remove sniffing from one of the DOM tests, which produced failures in IE8.
  • Fix 'Form.reset' test where 'respondsTo' wouldn't detect a method due to typeof returning "object" (rather than "function") in IE
  • Remove Array#reduce which currently overrides native 'reduce' in clients implementing JS1.8, e.g. Firefox 3+
  • Make sure try/catch/finally is used instead of try/finally for clients without support for the latter one (e.g. Blackberry, IE)
  • Use 'in' operator when accessing property of a nodelist to prevent Safari <=2.0.4 from crashing
  • Add Element#clone as a safe wrapper of native 'cloneNode'.
  • Add tests to ensure IE8 properly assigns a class name in the 'Element' constructor.
  • Remove sniffing from 'Element' when detecting broken 'setAttribute' in IE.
  • Remove sniffing from 'Element.update' branching in favor of feature detection.
  • Remove sniffing when branching 'escapeHTML' and 'unescapeHTML'.
  • Redefine Element#down in IE 6-7 to avoid extending all descendants when no selector is given.
  • Reverse the definitions of Event#pointer(X|Y) and Event#pointer to prevent unnecessary computation.
  • Add first-class support for 'mouseenter' and 'mouseleave' events in non-IE browsers (IE supports them natively).
  • Make sure '_extendedByPrototype', '_countedByPrototype', and 'prototypeUID' node expandos are accessed with 'typeof' to prevent errors in some environments.
  • Fix issue where Opera 9.x returns incorrect results on certain Selector queries with descendant combinators.
  • Null out references to elements in cache on page unload. Need this in addition to the Event#stopObserving calls to clean up memory leaks.
  • Ensure 'toString' and 'valueOf' properties are copied to a subclass only when necessary in IE6.
  • Make sure 'getAttribute' is used without flag when accessing the "type" attribute of an iframe (IE throws error otherwise).
  • String#gsub should escape RegExp metacharacters when the first argument is a string.
  • Fix order of replacement in String#unescapeHTML
  • Fix issue where a Selector query rooted on a node that had not been attached to the document failed in IE.
  • Fix Selector to match elements with attributes containing hyphens.
  • Make sure Form.reset always returns a reference to the receiver element.
  • Escape ":" and "." characters when doing contextual CSS selection in browsers that support querySelectorAll.
  • Ensure the 'target' property on events is never undefined in IE.
  • Ensure Element#descendants always returns an array.
  • Don't switch fixed position elements to absolute in Element.getDimensions
  • Avoid infinite loops when calling String#sub with empty pattern
  • Switch to Sprockets for building the Prototype distfiles.
  • Switch Object.is(Array|String|Number) to use the vastly-superior approach discovered by Juriy.
  • Further fix to ensure Object.is(String|Number) do not throw exceptions on host objects in IE.
  • Ensure Enumerable#grep can handle strings with RegExp metacharacters.
  • Switch to the "doScroll approach" for the dom:loaded custom event.
  • Optimize document.viewport.get(Dimensions|Width|Height).
  • Fix issue where Object#isString and Object#isNumber return false for String and Number "wrapper" objects.
  • Set document.loaded = true before firing dom:loaded custom event.
  • Allow Element#store to accept an object containing several key/value pairs.
  • Change Element#store to return the element itself (for chaining).
  • Add non-bubbling custom events. A new final argument to Element#fire defaults to 'true'; pass 'false' to prevent bubbling when firing a custom event.
  • Alter event system to use new element storage API rather than have its own global hashtable.
  • Add Element#store and Element#retrieve for safe, hash-backed storage of element metadata (no memory leaks). Also add Element#getStorage for working with the element's storage hash directly. Hat tip: Mootools.
  • Fix issue where certain versions of Safari treat class names case-insensitively in Selector/$$ queries.
  • Fix issue where Function#argumentNames returned incorrect results in IE when comments were intermixed with argument names.
  • Selector.patterns should be represented as an ordered structure.
  • Performance improvements in Function methods

Requirements:

  • JavaScript enabled on client side

Similar Software

embedly-jquery
embedly-jquery

5 Jun 15

Yellow Lab Tools
Yellow Lab Tools

10 Dec 15

webpack
webpack

19 Jul 15

OrientDB
OrientDB

10 Feb 16

Comments to Prototype

Comments not found
Add Comment
Turn on images!