Prototype JavaScript framework
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
doc_assets/images Update pdoc. May 15, 2010
ext/update_helper Move ext/sizzle into src so it's available in the default Sprockets l… Dec 2, 2009
src Ensure `Element.visible` works on nodes from other documents (e.g., I… Apr 9, 2017
test Remove test I inadvertently left in. Apr 9, 2017
vendor Merge pull request #326 from sdumitriu/XWIKI-8193 Apr 9, 2017
.gitignore Add a YAML config file for specifying browser paths on Windows. Nov 7, 2014
CHANGELOG Bump version number. Jun 5, 2012
Rakefile Mistakenly deleted this. Jan 8, 2015



An object-oriented JavaScript framework

Prototype is a JavaScript framework that aims to ease development of dynamic web applications. It offers a familiar class-style OO framework, extensive Ajax support, higher-order programming constructs, and easy DOM manipulation.

Targeted platforms

Prototype currently targets the following platforms:

  • Microsoft Internet Explorer for Windows, version 6.0 and higher
  • Mozilla Firefox 1.5 and higher
  • Apple Safari 2.0.4 and higher
  • Opera 9.25 and higher
  • Chrome 1.0 and higher

Using Prototype

To use Prototype in your application, download the latest release from the Prototype web site ( and copy dist/prototype.js to a suitable location. Then include it in your HTML like so:

<script type="text/javascript" src="/path/to/prototype.js"></script>

Building Prototype from source

prototype.js is a composite file generated from many source files in the src/ directory. To build Prototype, you'll need:

  • a copy of the Prototype source tree, either from a distribution tarball or from the Git repository (see below)
  • Ruby 1.8.2 or higher (
  • Rake--Ruby Make (
  • RDoc, if your Ruby distribution does not include it

From the root Prototype directory:

  • rake dist will preprocess the Prototype source using Sprockets and generate the composite dist/prototype.js
  • rake package will create a distribution tarball in the pkg/ directory

Contributing to Prototype

Check out the Prototype source with

$ git clone git://
$ cd prototype
$ git submodule init
$ git submodule update vendor/sprockets vendor/pdoc vendor/unittest_js

Find out how to contribute:


Please see the online Prototype API: