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