Vorlesung Internet-Medien - HTML CSS Formulare JavaScript - E-Learning-Plattform der ...

Die Seite wird erstellt Marlene Bender
 
WEITER LESEN
Vorlesung Internet-Medien - HTML CSS Formulare JavaScript - E-Learning-Plattform der ...
Vorlesung Internet-Medien
                       Teil II

    HTML
    Formulare
    CSS
    JavaScript

01.05.2020             Prof. Dr. K. Mehner-Heindl   1
Vorlesung Internet-Medien - HTML CSS Formulare JavaScript - E-Learning-Plattform der ...
Interaktive 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       2
Vorlesung Internet-Medien - HTML CSS Formulare JavaScript - E-Learning-Plattform der ...
Interaktive 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   3
Vorlesung Internet-Medien - HTML CSS Formulare JavaScript - E-Learning-Plattform der ...
Interaktive 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   4
Vorlesung Internet-Medien - HTML CSS Formulare JavaScript - E-Learning-Plattform der ...
Interaktive 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   5
Vorlesung Internet-Medien - HTML CSS Formulare JavaScript - E-Learning-Plattform der ...
Auszeichnungssprache 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                   6
Vorlesung Internet-Medien - HTML CSS Formulare JavaScript - E-Learning-Plattform der ...
Beispiele Hyperlinks/Formulare

01.05.2020           Prof. Dr. K. Mehner-Heindl   7
Vorlesung Internet-Medien - HTML CSS Formulare JavaScript - E-Learning-Plattform der ...
Wie 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     8
Logische 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   10
Veranschaulichung 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                            11
HTML5 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   12
HTML5 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     13
Elementare 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              14
Gesamter 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              15
Erinnerung: 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                      16
Praktische Ü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        17
Praktische Ü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        20
Praktische Ü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   22
Elementare 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    23
Logische 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           24
Seitenumbruch

    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     25
Kommentare

    Kommentare
     
      zeilenweise, Mehrzeilenkommentare

      Erläuterungen, die vom Browser ignoriert werden

01.05.2020                Prof. Dr. K. Mehner-Heindl     26
Praktische Ü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          27
Praktische Ü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               31
Verweise (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    32
Lokales 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            33
Entferntes 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      34
Verweisziel

    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   35
Bilder
     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         36
Praktische Ü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          37
Praktische Ü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                                38
Praktische Ü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   40
Syntax-Übersicht
    Singuläre inhaltsleere Tags:
     
    Hyperlink:
     Ankertext

    Image als Hyperlink (auf ein lokales Image):
     
01.05.2020                                   Prof. Dr. K. Mehner-Heindl
                                                                          41
Architektur 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                         42
Hypertext 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              43
HTTP: 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   45
Formulare (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            47
HTTP 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   48
Praktische Ü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   52
Zusammenfassung 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   53
Sie können auch lesen