- Prototype (Framework)
-
Prototype (Framework) Entwickler: Sam Stephenson Aktuelle Version: 1.6.0.3 (29. September 2008) Betriebssystem: unabhängig Kategorie: JavaScript-Framework Lizenz: MIT-Lizenz Deutschsprachig: nein www.prototypejs.org Prototype ist ein freies, umfangreiches JavaScript-Framework, das von Sam Stephenson im Jahre 2005 entwickelt wurde. Es stellt sowohl verschiedene Programmierhilfen für Ajax zur Verfügung als auch Möglichkeiten den JavaScript-Quelltext zu verkürzen. Es ist ein integraler Bestandteil von Ruby on Rails, aus dessen Reihen es entstanden ist. Inzwischen dient Prototype als Grundlage für zahlreiche Projekte wie beispielsweise script.aculo.us und Rico.
Inhaltsverzeichnis
Funktionen
Prototype stellt viele Funktionen für die Entwicklung von JavaScripts bereit. Dies reicht von Kurzbefehlen (Shortcuts) bis hin zu aufwändigeren Funktionen wie z.B. die für XMLHttpRequest.
Funktionsbeispiele
Die $()-Funktion
Um Zugriff auf ein DOM-Element einer HTML-Seite zu erhalten, wird üblicherweise diese Funktion angewandt:
document.getElementById("id_des_elements")
Die
$()
-Funktion von Prototype liefert ebenfalls DOM-Elemente über IDs, erweitert die zurückgelieferten Elemente aber noch mit nützlichen Funktionen:$("id_des_elements")
Um z.B. die Textfarbe zu ändern:
$("id_des_elements").setStyle({color: '#ffffff'});
Die $F()-Funktion
Mittels
$F()
erhält man den Wert eines Form-Elements. Bei einem Textfeld liefert die Funktion die im Feld befindlichen Daten; bei einem Select-Objekt (Dropdown-Menü) den aktuell ausgewählten Eintrag.$F("id_of_input_element")
Das Ajax-Objekt
Das Ajax-Object bietet vom Browser unabhängige Unterstützung für
XMLHttpRequest
.Es stehen folgende zwei Arten zum Abruf zur Verfügung:
Ajax.Request
liefert die rohe Server-Response;Ajax.Updater
schreibt die Server-Response direkt in ein angegebenes DOM-Objekt.Der
Ajax.Request
-Aufruf im folgenden Beispiel liest zuerst die Werte aus den Formular-Textfeldern aus, ruft eine Webseite vom Webserver ab, wobei die Formulardaten als Post-Werte gesendet werden und ruft schlussendlich die definierte FunktionshowResponse()
auf, sobald die Anfrage erledigt wurde:var params = $H({ value1: $F("id_1"), value2: $F("id_2") }); var myrequest = new Ajax.Request("http://www.example.com/server_script", { method: "POST", parameters: params, onComplete: showResponse });
Objektorientierte Programmierung
Prototype bietet Unterstützung für klassische objektorientierte Programmierung.
Die Methode
Class.create()
im folgenden Beispiel legt eine neue Klasse an:var FirstClass = Class.create({ // Die Methode "initialize" dient als Konstruktor initialize: function () { this.data = "Hello World"; } }); var DataWriter = Class.create(FirstClass, { printData: function () { document.write(this.data); } });
Weblinks
- http://www.prototypejs.org – Offizielle Prototype-Webseite (englisch)
- Developer Notes for prototype.js bezieht sich auf die veraltete Version 1.5.0 (englisch)
Wikimedia Foundation.