Kurzeinführung JavaScript, DOM und Canvas
Transcription
Kurzeinführung JavaScript, DOM und Canvas
Kurzeinführung JavaScript, DOM und Canvas Mediendesign 1 Was ist HTML5 ? HTML5 wird zunächst von der WHATWG, einer Gruppe von Browserherstellern, entwickelt ab 2006 wieder beim W3C HTML5 basiert auf verschiedenen Standards XHTML CSS3 JavaScript browserinterne Programmiersprache DOM: Document Object Model Repräsentation des XHTML Dokuments im Browser Mediendesign 2 JavaScript JavaScipt ist eine imperative (objektorientierte) Programmiersprache Schlüsselwörte, Variablen, Prozeduren, Kontrollstrukturen, Schleifen dynamische, schwache Typisierung Skriptsprache Standardisiert als ECMA-Script Syntaktisch orientiert sie sich an C damit leicht zu erlernen, auch für Java-Anfänger Mediendesign 3 Laufzeitumgebung JavaScript wird interpretiert, also nicht compiliert Das Programm wird syntaktisch analysiert (geparst), in eine interne Repräsentation überführt und dann direkt ausgewertet (evaluiert) Der Interpreter ist in den Browser eingebettet Sandbox Ein JavaScript-Programm wird also durch eine HTML5-Seite „geladen“ Mediendesign 4 Einbindung in XHTML [http://www.webdesign-referenz.de/html_javascript.shtml#4.5.2] Mediendesign 5 Einbindung in XHTML Mediendesign 6 Dynamische Erzeugung von XHTML Über JavaScript kann das geladene Dokument dynamisch verändert werden document.write("Hallo User!"); document.write(321); document.write("Verwendung eines HTML-Tags: <br><br><br>"); Mediendesign 7 Variablen Variablen sollten deklariert und initialisiert werden Sie können beliebige Werte aus dem Wertebereich tragen var meine_variable = "text "; document.write(meine_variable); meine_variable = "anderer Text "; document.write(meine_variable); Mediendesign 8 Ausdrücke und Kontrollstrukturen Bei der Auswertung von Bedingungen verhält sich JavaScript wie C jeder von 0 verschiedene Wert wird als true interpretiert if ("abc"){ // wird ausgeführt } if (1){ } // wird ausgeführt var a = "abc"; if (a){ // wird ausgeführt } Mediendesign 9 Funktionen Funktionen werden deklariert Formale Parameter müssen benannt werden, jedoch nicht notwendigerweise eine Typdeklaration aufweisen Der Rückgabetyp wird nicht festgelegt document.write(multipliziere(1,2,3)); function multipliziere(z1, z2, z3) { return z1*z2*z3; } Mediendesign 10 Einschub: DOM-Document Object Model Mediendesign 11 DOM: Document Object Model Das DOM (Document Object Model) definiert Schnittstelle, welche den Zugriff auf Elemente und Attribute eines HTML-/XMLDokumentes ermöglicht. DOM Level 0 – DOM Level 3 unabhängig von der Programmiersprache realisiert in nahezu allen modernen Programmiersprachen Java, C#, Perl, Python, Ruby und JavaScript Mediendesign 12 Beispiel: Baumrepräsentation Mediendesign 13 DOM-Inspector Der DOM-Inspector ist eine Erweiterung des Firefox, der es ermöglicht, den DOM-Tree der geladenen Seite zu visualisieren und zu inspizieren. Mediendesign 14 Und weiter mit JavaScript Mediendesign 15 Zugriff über das DOM JavaScript hat das DOM-API implementiert Erlaubt so den Zugriff auf Teile des Dokuments, z.B. mit document.getElementById(id) document.getElementsByName(name) document.getElementsByTagName(tagname) [http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_tag_name] Mediendesign 16 Beispiel: Zugriff per DOM [http://www.webdesign-referenz.de/examples/77.html] Mediendesign 17 Canvas <canvas> Ist ein 2D-Element, das vollständig über JavaScript kontrolliert wird Es kann für die Visualisierung von Graphen, Spielen, Präsentationen genutzt werden. Durch die Steuerung mit JavaScript wird es möglich, die Interaktion genauer zu kontrollieren Mediendesign 18 Canvas - API Eine unvollständige Liste der CanvasFunktionen. moveTo(x, y) lineTo(x, y) stroke() lineWidth lineCap strokeRect(x, y, width, height) lineJoin fillRect(x, y, width, height) scale(x, y) beginPath() rotate(a) closePath() save() restore() ● ● arc(x, y, radius, startAngle, endAngle, anticlockwise) translate(x, y) transform(m11, m12, m21, m22, dx, dy) setTransform(m11, m12, m21, m22, dx, dy) fill() Mediendesign 19 Canvas - Beispiele Beispiele: http://www.craftymind.com/factory/html5video/CanvasVideo.html http://9elements.com/io/projects/html5/canvas/ http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_canvas http://www.w3schools.com/html5/html5_reference.asp Mediendesign 20