Vorlesung Internet-Medien - HTML CSS Formulare JavaScript - E-Learning-Plattform der ...
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Vorlesung Internet-Medien
Teil II
HTML
Formulare
CSS
JavaScript
01.05.2020 Prof. Dr. K. Mehner-Heindl 1Interaktive Webseiten
Entstehungsgeschichte (1)
Internet seit 1969
Vernetzung US-amerikanischer Universitäten/Institute
Vorläufer seit ca. 1962 (Licklider et al.)
Netzwerk von Großrechnern „ARPANET“
(Advanced Research Projects Agency* Network)
Noch 1971 überwiegend Email
Ca. 1973 TCP/IP (Cerf et al.)
Verschiedene Protokolle
telnet, ftp, email, http, …
(*ARPA 1985-1972, 1993-1996
Defense ARPA, seit 1996 und 1972-1993)
01.05.2020 Prof. Dr. K. Mehner-Heindl 2Interaktive Webseiten
Entstehungsgeschichte (2)
Ted Nelson, USA,1965
„Einfache Benutzeroberflächen,
um Computer für normale
Menschen zugängig zu machen“
Projekt Xanadu: Definition Hypertext
Rechtemanagement, Mikropayment
Bidirektionale Hyperlinks
sehr komplex, nie fertig realisiert
01.05.2020 Prof. Dr. K. Mehner-Heindl 3Interaktive Webseiten
Entstehungsgeschichte (3)
Tim Berners-Lee, CERN Genf,
März 1989
„Datenaustausch und Verknüpfung
in der Forschergemeinde“
erste Webseite (siehe info.cern.ch)
Hypertext, später http, HTML,
URL-Vorläufer
WWW, Suchmaschine, Server, Browser, Editor
Vorsitzender und Gründer World Wide Web
Consortium (W3C, 1994)
Professor MIT und Oxford
01.05.2020 Prof. Dr. K. Mehner-Heindl 4Interaktive Webseiten
Entstehungsgeschichte (4)
Markups wurden früher als Hinweise für den
Druckvorgang verwendet
HTML zur statischen Webseitenerzeugung
Ergänzt um CSS für Layoutbeschreibung
HTML enthält Formulare
Ergänzt um JavaScript für Interaktivität
aktuell HTML5 und CSS3
01.05.2020 Prof. Dr. K. Mehner-Heindl 5Auszeichnungssprache HTML
Hypertext Markup Language für Erstellung von Webseiten
Ein HTML-Dokument
Erzeugt Webseite mit formatierter Schrift, Bildern, Videos, Links
Enthält sogenannten Quelltext mit:
Auszeichnungen (Tags) zur Festlegung der Darstellung der Inhalte
und Texte
Textbausteine in natürlicher Sprache
Namen od. Adressen von Textdateien, Bilddateien, Webseiten
Grammatik von HTML legt fest
Reservierte Zeichen für die Tags etc. , &
Menge von Tags, und
Tag-Attribute
Tag-Struktur innerhalb Webseite ist Schachtelung oder Folge
Fließtext und Behandlung von Sonderzeichen
01.05.2020 Prof. Dr. K. Mehner-Heindl 6Wie arbeitet man mit HTML?
Es ist immer nötig, den Quelltext zu erzeugen
WYSIWYG = What you see is what you get
Grafische Oberfläche, Menüs, Drag&Drop
Automatische Erzeugung des Quelltextes
Manchmal nicht ausreichend
Syntaxgesteuerte Editoren
Textbasiert, mit Syntax-Highlighting und –prüfung
Simultane Nutzung beider Paradigmen
Sogenannter Single-Source-Betrieb
Ein Quelltext, zwei Ansichten/Änderungsmöglichkeiten
Nachteil: erzeugter Quelltext nicht gut lesbar/änderbar
01.05.2020 Prof. Dr. K. Mehner-Heindl 8Logische Struktur und
Layoutregeln …
1. Logische Struktur eines Dokumentes
Kapitel, Überschrift, Abschnitt, Aufzählung, Abbildung,
Hervorhebung, …
2. wird umgesetzt in
Stil (Layoutregeln)
3. Layoutstruktur (physische Darstellung)
(Seite,) Textblock, Zeile, Schriftart/-schnitt/-grad,
Ausrichtung, Farbe, …
Separierung von logischer Beschreibung eines
Dokumentes und Stil-Beschreibung
01.05.2020 Prof. Dr. K. Mehner-Heindl 9… im World Wide Web
1. Logische Struktur eines Dokumentes und
HTML-Quelltext
2. Stile
Default
Cascading Style Sheets (CSS)
(Browser-spezifische Umsetzung)
3. werden vom Web-Browser dargestellt
HTML5
Vorgänger: 1.0, 2.0, 3.2, 4, XHTML 1.0, 1.1
01.05.2020 Prof. Dr. K. Mehner-Heindl 10Veranschaulichung des
Separation of Concern
Logische Struktur Stil Physische Darstellung
fett,
z.B. Überschrift 2fach vergrößert, Überschrift
0.67facher Abstand
z.B. betont kursiv betont
… … …
=> => =>
Reines HTML Default oder CSS Darstellung im Browser
01.05.2020 Prof. Dr. K. Mehner-Heindl 11HTML5 Struktur einer Web-Seite
Nicht Case-sensitiv
Formal nicht erforderlich
Kein HTML-Tag
Beeinflusst das Verhalten der Browser
Keine Angabe der HTML Version
Angabe der Sprache empfohlen
Wird von Suchmaschinen genutzt
…
Vorspann (Kopfteil, engl. Header),
auf das gesamte Dokument bezogen
…
Dokumentkörper
…
01.05.2020 Prof. Dr. K. Mehner-Heindl 12HTML5 Tags
Tags (Auszeichnungen) definieren Elemente
einer Web-Seite und stehen in spitzen
Klammern
Anfangs- (< … >) und Ende-Tag ()
Kleinbuchstaben empfohlen
mit benannten Attributen und Wertzuweisung
durch ="…",
immer korrekt geschachtelt, z.B. Grundstruktur
einer Web-Seite
01.05.2020 Prof. Dr. K. Mehner-Heindl 13Elementare Tags im Head
Titel: …
erscheint in Kopfleiste des Fensters und bei Bookmarks
In der Regel verpflichtend
Zeichensatz:
Singulärer Tag mit Schrägstrich innerhalb der Klammern
UTF-8 Kodierung von Unicode-Zeichen (umfasst ASCII)
1 bis 4 Byte lang
Beschreibung der Inhalte:
Singulärer Tag
Festgelegter Wert für name, freiwählbare Angaben für content
01.05.2020 Prof. Dr. K. Mehner-Heindl 14Gesamter Head
Korrekte Anführungszeichen
(Unicode Quotation Mark 0022)
Ihr Seitentitel
Überall dort, wo ein oder mehr Leerzeichen
… oder ein Zeilenwechsel stehen, können
beliebig viele Leerzeichen/ Tabstopps/
Zeilenwechsel stehen, mindestens eins davon.
(Anmerkung: So wird der Head für die Klausur auswendig gelernt.)
01.05.2020 Prof. Dr. K. Mehner-Heindl 15Erinnerung: Universal Character Set
Transformation Format UTF-8
Im Unicode werden weltweit verwendete
Zeichen in eine feste Reihenfolge gebracht.
Die lateinischen Buchstaben befinden sich unter den ersten 128 Zeichen
(wie im ASCII-Code). Die Umlaute finden sich erst ab der Stelle 196.
In der Kodierung UTF-8 wird jede Position mit
maximal 4 Byte kodiert (theoretisch sind 8 Bytes
für über 4 Billionen Zeichen möglich)
Die ersten 128 Zeichen werden durch 1 Byte (= 8 Bit) kodiert. Die Umlaute
der deutschen Sprache benötigen 2 Byte.
Wir verwenden UTF-8 im Editor und stellen
UTF-8 im HTML-head ein, damit Umlaute
korrekt dargestellt werden!
01.05.2020 Prof. Dr. K. Mehner-Heindl 16Praktische Übungen
Editor
z.B. Notepad++, https://notepad-plus-plus.org/
Kein Editor der rtf, doc, odt erzeugt
JSFiddle, https://jsfiddle.net/
Webbrowser
Firefox, Chrome, Internet Explorer, Safari,…
Umgang mit Datei-Explorer/Browser wird
vorausgesetzt
01.05.2020 Prof. Dr. K. Mehner-Heindl 17Praktische Übung: In Notepad++Kodierung prüfen 01.05.2020 Prof. Dr. K. Mehner-Heindl 18
Praktische Übung: In Notepad++ HTML speichern 01.05.2020 Prof. Dr. K. Mehner-Heindl 19
Praktische Übung: 1. Aufgabe
1. Erzeugen Sie mit einem Editor eine Datei mit Endung .html .
a) Wenn Sie einen Editor starten, zeigt er eine neue Datei an. Prüfen Sie
zunächst das Encoding und ändern Sie es ggf. .
Dies muss vor dem ersten Tippen und Speichern erfolgen!
(Sie können diesen Schritt auch erstmal auslassen.)
b) Wählen Sie dann „Speichern unter“, um den Namen und die Endung
der Datei zu ändern! Wählen Sie einen passenden Ordner, zeigen Sie
*.* an und tippen Sie Dateinamen.html (ohne Umlaute, Leerzeichen,
Sonderzeichen)
2. Tippen Sie die Struktur der Webseite und den Head ab.
3. Farbliche Vorhebungen erscheinen. Speichern Sie die Datei.
4. Öffnen Sie den (Windows) Datei-Explorer. Gehen Sie zur Datei.
5. Öffnen Sie Datei von dort mit einem Webbrowser (Edge, Safari).
Die Webseite sollte leer sein, aber der Reiter ist beschriftet.
01.05.2020 Prof. Dr. K. Mehner-Heindl 20Praktische Übung: 1. Aufgabe - Lösung 01.05.2020 Prof. Dr. K. Mehner-Heindl 21
Elementare Tags im Body (1)
Überschriften (engl. Heading)
… , … …
in 6 Hierarchiestufen
Absätze (engl. Paragraph)
…
01.05.2020 Prof. Dr. K. Mehner-Heindl 22Elementare Tags im Body (2)
nummerierte Listen (engl. ordered)
…
Aufzählungslisten (engl. unordered)
…
Listeneinträge (engl. list item)
…
auch notwendig für geschachtelte Liste
kein Text zwischen oder und jedem
, nicht innerhalb von erlaubt
mit CSS kann man Aussehen von Listen ändern
01.05.2020 Prof. Dr. K. Mehner-Heindl 23Logische Textauszeichnung, Sonderzeichen
Tags zur logischen Textauszeichung beschreiben die logische
Verwendung des eingeschlossenen Textelements, nur innerhalb
von Paragraphen, Überschriften, Listeneinträgen etc. erlaubt
…
…
Umsetzung in physische Darstellung durch Browser/CSS
Betonung wird oft kursiv dargestellt
Starke Betonung wird oft fett dargestellt
Reservierte Zeichen sind Sonderzeichen:
< > & …
01.05.2020 Prof. Dr. K. Mehner-Heindl 24Seitenumbruch
Zeilenumbruch, nur innerhalb von etc. erlaubt
horizontale Linien, nur außerhalb von erlaubt
generisches Blockelement
…
generisches Inline-Element
…
01.05.2020 Prof. Dr. K. Mehner-Heindl 25Kommentare
Kommentare
zeilenweise, Mehrzeilenkommentare
Erläuterungen, die vom Browser ignoriert werden
01.05.2020 Prof. Dr. K. Mehner-Heindl 26Praktische Übung: 2. Aufgabe
1. Erstellen Sie eine Webseite unter Verwendung der
bisherigen Tags und Sonderzeichen.
2. Erstellen Sie dabei eine Liste als Unterliste einer anderen
Liste. (Die Lösung hierzu gibt es erst, wenn Sie
verschiedene Varianten probiert haben.)
Beispiel:
01.05.2020 Prof. Dr. K. Mehner-Heindl 27Praktische Übung: 2. Aufgabe – Lösung zu 1. (1) 01.05.2020 Prof. Dr. K. Mehner-Heindl 28
Praktische Übung: 2. Aufgabe – Lösung zu 1. (2) 01.05.2020 Prof. Dr. K. Mehner-Heindl 29
Universalattribute
Im Head haben Sie bereits spezielle Attribute und deren Aufbau
benutzt, Attribute werden niemals durch Komma getrennt!
lang="…" charset="…" name="…" content="…"
mit jedem Tag verwendbar
id="…"
eindeutiger Identifikator für Element, z.B. als Sprungziel innerhalb
einer Webseite
title="…"
Beschriftung für Element, sichtbar bei Maus-Hover als Tooltip
style="…"
Stilangaben für Element (für CSS3) (nicht klausurrelevant)
01.05.2020 Prof. Dr. K. Mehner-Heindl 31Verweise (Links)
Web
= Informationseinheiten + Verweise
= „Hypertext“
Verweis = Anker + Ziel
…
umschließt Anker (Text, Bild, …) für Ursprung
Attribut href="Ziel-URL" legt Ziel fest
01.05.2020 Prof. Dr. K. Mehner-Heindl 32Lokales Ziel eines Verweises
absoluter Pfadname
Zugriffspfad durch die gesamte Verzeichnishierarchie,
beginnt immer mit /
z.B. href="/d|/htmlFiles/index.htm"
(/assets/images/logo.gif)
relativer Pfadname
bezieht sich auf das Verzeichnis, in dem das verweisende
HTML-Dokument steht
z.B. href="info.html"
(hires/company.gif, ../../main/main.html)
portabel!
01.05.2020 Prof. Dr. K. Mehner-Heindl 33Entferntes Ziel eines Verweises
vollständige URL (Uniform Resource Locator)
Protokoll://Rechnername/Pfad
verschiedene Dienste (Protokolle)
verschiedene Dokumenttypen (Dateiendungen)
z.B. href="http://www.fh-offenburg.de/
mi/mi.html"
Sonderzeichen in URLs
durch %ASCII-Code etwa %20 ( ), %3f (?), %2f (/)
z.B. href="http://my.sys.de/
bad%20name%3f.html"
01.05.2020 Prof. Dr. K. Mehner-Heindl 34Verweisziel
ist Element in einer Seite
durch Verwendung der id des Elementes nach #
z.B. href="mi.html#People"
Case-sensitiv
Verweisziel erscheint oben im Browser
01.05.2020 Prof. Dr. K. Mehner-Heindl 35Bilder
Inline Images, d.h. nur innerhalb von Paragraphen,
Überschriften etc. erlaubt
Die Pixelzahl wird ohne Einheit angegeben
Die Bildquelle ist ein lokaler/absoluter Pfad oder eine URL
als Ursprung eines Verweises
Bekannt als „Image Links“, „Clickable Images“
durch Schachteln in Anchor-Tag
Images als Verweisziel
href mit lokaler Bilddatei oder URL für Bilddatei
01.05.2020 Prof. Dr. K. Mehner-Heindl 36Praktische Übung: 3. Aufgabe
1. Erstellen Sie eine Webseite mit
einem Bild (im selben Verzeichnis abspeichern)
einem Hyperlink (z.B. auf die Hochschule)
einem Text, der eingeblendet wird, wenn die Maus eine
Überschrift berührt.
2. Ergänzen Sie einen Hyperlink, mit dem Sie
an eine bestimmte Position der Seite
springen (Attribut id)
3. Verwenden Sie das Bild als Hyperlink
01.05.2020 Prof. Dr. K. Mehner-Heindl 37Praktische Übung: 3. Aufgabe - Lösung
(noch ohne Bild als Hyperlink…die Lösung steht weiter hinten im Skript)
Wenn sich die Maus über
der freie Fläche befindet,
erscheint ein Text.
01.05.2020 Prof. Dr. K. Mehner-Heindl 38Praktische Übung: 3. Aufgabe - Lösung 01.05.2020 Prof. Dr. K. Mehner-Heindl 39
Überprüfen von HTML-
Quelltexten
W3C-Validator auf validator.w3.org
Per File Upload
Syntax-Überprüfung des DOCTYPE der Seite
Falls Fehler vorhanden sind, schrittweise
abarbeiten, denn oft verschwinden dann
Folgefehler
Hinweis: Der Validator bewertet auch HTML5-
Seiten als richtig, in denen die Syntax nicht
falsch, aber unvollständig ist. In der Klausur wird
nur die vollständige Syntax als richtig bewertet.
01.05.2020 Prof. Dr. K. Mehner-Heindl 40Syntax-Übersicht
Singuläre inhaltsleere Tags:
Hyperlink:
Ankertext
Image als Hyperlink (auf ein lokales Image):
01.05.2020 Prof. Dr. K. Mehner-Heindl
41Architektur von Webanwendungen
Minimale Bestandteile:
Webbrowser auf einem Client-Rechner
Webserver auf einem Internet-Server
Verwendung des Hypertext-Transfer-Protocols (http)
Statische Webseiten liegen auf dem Internet-Server
request (URL) Datenbankabfrage
Browser
response (HTML) Web- Datensätze
server
Client-Rechner
Datenbank-Server
Internet-Server
Optional Generierung einer Webseite durch Skript oder
Programm
Optional Verbindung mit Datenbank und Anwendungen
01.05.2020 Prof. Dr. K. Mehner-Heindl 42Hypertext Transfer Protocol
(Standard des WWW Consortium)
Besteht aus den Nachrichten Request und Response
Unterstützt von Webbrowser und Webserver
Zustandslos, daher Cookies
Nicht verschlüsselt
HTTP-Header
(Kodierung, Inhaltstyp,…)
Message-Body
Web- (Nutzdaten)
browser Webserver
Request-Nachricht
Response-Nachricht
Statusinformationen
„Client“ Nutzdaten (HTML, CSS, …) „Server“
01.05.2020
Prof. Dr. K. Mehner-Heindl 43HTTP: Webseite anfordern
Request
GET /mi/index.hmtl
HTTP/1.1
Host: hs-offenburg.de
Response
HTTP/1.1 200 OK
Date: …
Last-Modified: …
Content-Type: charset/UTF-8; …
Content-Length: …Formulare in HTML
Dateneingabe des Benutzers
…
Attribute:
method="post" (get) action="Skript-URL"
UI-Elemente
Attribute type="text" (password, radio,
checkbox, submit, reset, button, file),
name="Elementname", value="Wert",
size="Breite", checked="checked"
01.05.2020 Prof. Dr. K. Mehner-Heindl 45Formulare (2)
…
Attribute:
name="Elementname"
(name[]für Mehrfach-Auswahl-Listen)
multiple ="multiple" size="sichtbare
Einträge"
…
Attribute value="Wert" selected="selected"
…
Attribute name="Elementname" rows="1" (2,…)
cols="1" (2,…)
01.05.2020 Prof. Dr. K. Mehner-Heindl 46Übertragung mit get oder post
Übertragung der Daten mit der URL
http://www.seite.de?eintrag1=value1&text1=Das+ist+Text.&...
für Benutzereingaben, um nachfolgende Seite auszuwählen, z.B.
Zugverbindungsanfrage
nicht beliebig lang
Übertragung der name-value Paare am Ende der Nachricht,
im sogenannten Message-Body
falls URL sonst zu lang wird, oder
für Benutzereingaben, die Zustand in einer Datenbank verändern,
z.B. Buchung
01.05.2020 Prof. Dr. K. Mehner-Heindl 47HTTP Beispiele
GET /php/post-query.php?studium=mwplus&semester=1
HTTP/1.1
Host: info.mi.hs-offenburg.de
POST /php/post-query.php HTTP/1.1
Host: info.mi.hs-offenburg.de
Content-Length: 24
studium=mwplus&semester=1
HTTP/1.1 200 OK
Date: …
Last-Modified: …
Content-Type: charset/UTF-8; …
Content-Length: 100
Herzlich Willkommen zum 1. Sem. MW+
01.05.2020
Prof. Dr. K. Mehner-Heindl 48Praktische Übung: 4. Aufgabe Erstellen Sie folgende Webseite (es handelt sich um ein Formular)! Verwenden Sie folgende URL als Wert für das Attribut action=“http://info.mi.hs- offenburg.de/formGetPost.php“ Sie können die Antwort nur im VPN der HSO testen (VPN Cisco Client installieren). 01.05.2020 Prof. Dr. K. Mehner-Heindl 49
Praktische Übung: 4. Aufgabe - Lösung 01.05.2020 Prof. Dr. K. Mehner-Heindl 50
Praktische Übung: 4. Aufgabe - Lösung HTML-Ausgabe des php-Skripts, das bei „bestellen“ mit den Name-Value- Paaren aus den Formularfeldern aufgerufen wird: 01.05.2020 Prof. Dr. K. Mehner-Heindl 51
Gestaltungshinweise zu Formularen
Pro Zeile 1 Eingabefeld
Ausnahme Radiobutton
Empfohlen: Beschriftung oberhalb
Keine Vorauswahl für Zustimmung zu AGB!
Wenige Elemente, sonst 2 Formulare
Sinnvolle Variablennamen und Wertenamen
Passwort mit post übertragen (und verschlüsseln!)
Nach Submit-Button Benutzer-Feedback
Mit JavaScript Eingaben prüfen
Mit sinnvollen Eingaben testen
01.05.2020 Prof. Dr. K. Mehner-Heindl 52Zusammenfassung Formulare
Einfache interaktive Webseiten
Standardverhalten
Standardgestaltung
Funktion von Formularen
Eingabe der Daten auf der Client-Seite
Übertragen der Daten zum Skript auf einem Server
Nicht abgedeckt:
Server muss Formulardaten verarbeiten
Server muss Feedback-Seite für Client erzeugen
01.05.2020 Prof. Dr. K. Mehner-Heindl 53Sie können auch lesen