Informatik - Oberstufe – Schuljahr 2007 / 2008 – II. Halbjahr Java Script - Informationstext Name: ............................……...…....... A 12 HTML-Umgebung Im Vordergrund des Niedersachsen-Projektes steht die Gestaltung von dynamischen HTML-Seiten mit den Programmiersprachen Java und JavaScript. Dabei wird die Dynamisierung durch JavaScriptbasierte Effekte und durch Java-Applikationen realisiert. Um eine einheitliche, transparente und leicht veränderbare Gestaltung des Layouts zu erreichen werden Cascading Style Sheets (CSS) verwendet. HTML integriert Texte, Bilder, Hyperlinks, Text-, Audio- und Videodateien, Animationen, Interaktionen und selbstablaufende Programme. Hauptziel ist die integrierte Darstellung von unterschiedlichen Datenobjekten unter Berücksichtigung von Informationen über die Beziehungen zwischen den einzelnen Objekten in HTML-Dokumenten und über die Layout-Informationen. Im Gegensatz zur Archivierung nahezu aller Informationen ausschließlich in HTML-Dokumenten wird mit der verteilten Speicherung von Informationen in verschiedenen Dateien dem Prinzip der Trennung von Verhalten sowie Form und Inhalt entsprochen, was spätere Veränderungen vereinfacht. Die unterschiedlichen Dateitypen umfassen neben HTML auch CSS, JS und CLASS (vergleiche Abbildung „HTML-Umgebung“). „JavaScript“ wurde 1995 von Netscape Communications Corporation entwickelt und ursprünglich mit „LiveScript“ bezeichnet. Microsoft veröffentlichte eine eigene JavaScript-Version mit dem Namen „JScript“. 1997 wurde für beide Versionen eine Angleichung („ECMAS“) herausgebracht. JavaScript ist eine interpretierte Programmiersprache. JavaScript verfügt über objektorientierte Fähigkeiten und weist unter syntaktischem Aspekt eine große Ähnlichkeit mit Java auf. Sowohl JavaScript als auch Java stellen in Webbrowsern ausführbare Programme bereit. Da JavaScript im Gegensatz zu der kompilierbaren (komplieren≡umwandeln) Sprache Java interpretierbar ist, wird JavaScript häufig auch als reine Skriptsprache unterschätzt. JavaScript ist aber eine vollständige und komplexe „Allzweck“Programmiersprache. Alle Browser verfügen heute über einen JavaScript-Interpreter. JavaScript unterstützt im Gegensatz zu Java allerdings keine echten Klassen. JavaScript ist ereignisgesteuert. Browser-spezifisch wurden in der Vergangenheit zunächst unterschiedliche Ereignismodelle entwickelt. Das grundlegende Browser-unabhängige Ereignismodell ist in jedem JavaScript-fähigen Browser verfügbar. So genannte „Event-Handler“ von Objekten, wie zum Beispiel „mouseClick“ des Link-Objektes definieren dabei die Reaktionen auf Ereignisse. Event-Handler werden vom Webbrowser automatisch bei Eintritt eines bestimmten Events aufgerufen. Aus JavaScript-Sicht zählen alle Elemente einer Website zu ihren Objekten. Diese umfassen das Browser-Fenster, Bilder, Links, Browserobjekte wie „window“ und „document“ und vordefinierte Klassen wie zum Beispiel „String“. Für die Verwendung von JavaScript im Webbrowser gibt es die beiden Standards „Cascading Style Sheets (CSS)“ und das „Document Object Model (DOM)“. Das DOM gibt vor, wie die einzelnen Objekte einer HTML-Seite „technisch“ angesprochen werden können. Es gibt Browser-abhängige DOM-Versionen auf unterschiedlichem Level (Level 0 – Level 3). Das DOM bildet die einzelnen Objekte einer Website hierarchisch ab und definiert so die Beziehung zwischen ihnen. CSS bildet den Standard für die Präsentation von HTML-Dokumenten. StyleSheets definieren „formal“ die Anzeige der strukturierten Elemente eines Dokumentes. Damit übernimmt CSS im Internet die Kontrolle der Visualisierung von HTML-Dokumenten. CSS verbunden mit JavaScript ermöglicht zahlreiche visuelle Effekte, die auch mit „Dynamisches HTML (DHTML)“ bezeichnet werden. Es umfasst die nachträgliche dynamische Veränderung von Inhalten einer im Browser angezeigten Webseite. „HyperTextMarkUpLanguage (HTML)“ ist eine Text-basierte Auszeichnungssprache, wurde 1990 entwickelt, wird vom World Wide Web Consortium weiterentwickelt und bildet die Basis des Webs. Die Datenübermittlung wird durch Protokolle wie zum Beispiel das „HyperTextTransferProtocol (HTTP)“ geregelt. HTML-Dokumente definieren ihren Aufbau im Web. Neben der im Browser sichtbaren Strukturierung von Objekten unterschiedlichen Typs umfassen HTML-Dokumente auch nicht-angezeigte Metainformationen. Dabei wird die Struktur von HTML-Seiten durch Tags festgelegt. Für die Dynamisierung der HTML-Dokumente ist der „Link“-Tag oder <a>-Tag von entscheidender Bedeutung, der nach dem Begriff „anchor“ benannt ist. Neben der wichtigsten Eigenschaft eines „Hyperlinks“ in einem HTML-Dokument, seinem Attribut „href“, also die URL, zu der ein Link weiterleitet (ein vorangestelltes Rautezeichen gibt die namentlich bezeichnete Position im referenzierten Dokument an), werden hier spezielle Event-Handler des Link-Objektes betrachtet, die ebenfalls zu den HTML-Attributen gehören und eine Verknüpfung zur Sprache JavaScript herstellen. Damit lassen sie sich als Verbindungsglied zwischen JavaScript und HTML interpretieren. Das Link-Objekt zeigt bei mehreren Event-Handlern ein spezifisches Verhalten. „onMouseOver“ wird aufgerufen, wenn ein Benutzer den Mauszeiger über den Link bewegt, „onMouseOut“ wird ausgelöst, wenn der Mauszeiger vom Link wegbewegt wird. Neben den Eigenschaften onMouseOver und onMouseOut gibt es noch weitere Eigenschaften des Link-Objektes, wie onClick, onMouseDown, onMouseMove und onMouseUp, die Event-Handler aktivieren Mit Hilfe der Event-Handler onMouseOver und onMouseOut ist zu entscheiden, ob sich ein Mauszeiger über einen Link bewegt. Das Ereignis OnMouseOver tritt ein, wenn der Mauszeiger das betrachtete Objekt berührt; anderenfalls tritt das Ereignis onMouseOut ein. Grundsätzlich stehen zwei Möglichkeiten zur Verfügung, einen Event-Handler zu definieren: im entsprechenden HTML-Tag oder im JavaScriptBereich des Dokumentes. Heute ist der Begriff „MouseOver“ als Synonym für Bildtausch etabliert und die Link-ObjektEigenschaften werden als auch als HTML-Anweisungen aufgefasst.