Zum Inhalt springen

„Dynamisches HTML“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
KKeine Bearbeitungszusammenfassung
K Änderungen von 2A00:1E:7480:601:E441:476A:22C4:FCAD (Diskussion) auf die letzte Version von CyberOne25 zurückgesetzt
Markierung: Zurücksetzung
 
(37 dazwischenliegende Versionen von 30 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Die Begriffe '''DHTML''', '''dynamisches [[Hypertext Markup Language|HTML]]''' ({{EnS|dynamic HTML}}) oder auch '''[[Document Object Model|DOM]]-Scripting''' bezeichnen bestimmte [[Webdesign]]-Methoden, bei denen während der Anzeige einer Webseite diese selbst, ausgelöst durch Ereignisse wie z. B. Benutzereingaben, verändert wird.
{{Lückenhaft|Beispiel (englische Wikipedia) und Quellen}}


Der Begriff „dynamisch“ bezieht sich dabei auf die Idee, dass diese Ereignisse auch mehrfach beim Anzeigen einer Seite auftreten können.
Die Begriffe '''DHTML''', '''dynamisches [[HTML]]''' (engl. '''dynamic HTML''') oder auch [[Document Object Model|'''DOM-Scripting''']] bezeichnen bestimmte [[Webdesign]]-Methoden, bei denen während der Anzeige einer Webseite diese selbst, ausgelöst durch Benutzereingaben, verändert wird.


Beispiele für dynamische Anzeigeeffekte sind:
Der Begriff "dynamisch" bezieht sich dabei auf die Idee, dass diese Änderungen von Ereignissen bedingt werden, die auch mehrfach beim Anzeigen einer Seite auftreten können.
* das Erscheinen („Aufklappen“) eines [[Menü (Computer)|Menüs]]

Beispiele für dynamische Anzeigeeffekte sind
* das Erscheinen ("Aufklappen") eines [[Menü (Computer)|Menüs]]
* die Hervorhebung eines Textes
* die Hervorhebung eines Textes
* die Möglichkeit, Objekte durch [[Drag and Drop|Drag & Drop]] auf dem Bildschirm zu verschieben
* die Möglichkeit, Objekte durch [[Drag and Drop|Drag & Drop]] auf dem Bildschirm zu verschieben
* Formularfelder automatisch in Abhängigkeit von anderen Feldern zu belegen
* Formularfelder automatisch in Abhängigkeit von anderen Feldern zu belegen
* Effekte wie bei clientseitigen [[Anwendungssoftware|Anwendungsprogrammen]]
* Webseiten, die sich wie Client-seitige [[Anwendungsprogramm]]e bedienen lassen.


== Techniken ==
== Geschichte ==
Die Skriptsprachen [[JavaScript]] im [[Netscape Navigator]] und [[JScript]] im Microsoft [[Internet Explorer]] ermöglichten schon Mitte der [[1990er]] Jahre die ereignisbasierte Veränderung von Webseiten. Damals wurde der Begriff DHTML benutzt, um auf diese Fähigkeiten der damaligen Programmversionen hinzuweisen. Durch die Standardisierung des [[Document Object Model]] und das Platzen der damaligen [[Dotcom-Blase]] geriet der Begriff aus der Mode.


== Techniken ==
Dynamisches HTML umfasst die folgenden Techniken:
Dynamisches HTML umfasst die folgenden Techniken:
* [[Hypertext Markup Language|HTML]] zum Verfassen von Dokumenten

* [[HTML]] zum Verfassen von Dokumenten
* eine [[client]]seitige [[Skriptsprache]], meistens [[JavaScript]]
* eine [[client]]seitige [[Skriptsprache]], meistens [[JavaScript]]
* eine Schnittstelle zur Änderung und Erweiterung des HTML-Dokuments, heute wird vor allem das [[Document Object Model]] (DOM) verwendet
* eine Schnittstelle zur Änderung und Erweiterung des HTML-Dokuments, heute wird vor allem das [[Document Object Model]] (DOM) verwendet
* [[XMLHttpRequest]], um Daten zwischen dem Browser und einem entfernten [[HTTP]]-Server auszutauschen (siehe auch [[Ajax (Programmierung)|Ajax]]).
* [[XMLHttpRequest]], um Daten zwischen dem Browser und einem entfernten [[Hypertext Transfer Protocol|HTTP]]-Server auszutauschen (siehe auch [[Ajax (Programmierung)|Ajax]]).
*Fetch API, um Daten zwischen dem Browser und einem entfernten [[Hypertext Transfer Protocol|HTTP]]-Server auszutauschen.
* ein Format zur Übertragung strukturierter Daten, etwa [[Extensible Markup Language|XML]] oder auch [[JSON]]
* ein Format zur Übertragung strukturierter Daten, etwa [[Extensible Markup Language|XML]] oder auch [[JavaScript Object Notation|JSON]]
Dabei müssen nicht unbedingt alle Techniken dieser Liste in einem Dokument verwendet werden (insbesondere die zur Datenübertragung nach dem ersten Laden nicht), um es als Anwendung von dynamischem HTML bezeichnen zu können.
Dabei müssen nicht unbedingt alle Techniken dieser Liste in einem Dokument verwendet werden (insbesondere die zur Datenübertragung nach dem ersten Laden nicht), um es als Anwendung von dynamischem HTML bezeichnen zu können.


== Beispiele ==
== Beispiele ==
Ein einfaches Beispiel eines dynamischen HTML Abschnitts, bei dem sich der dargestellte Text beim Anklicken verändert:
Ein einfaches Beispiel eines dynamischen HTML-Abschnitts, bei dem sich der dargestellte Text beim Anklicken verändert:


<source lang="html4strict">
<syntaxhighlight lang="html">
...
...
<p onclick="this.firstChild.nodeValue = 'Danke'">Klick mich</p>
<p onclick="this.firstChild.nodeValue = 'Danke'">Klick mich</p>
...
...
</syntaxhighlight>
</source>


== Kritik und Nachteile ==
== Kritik und Nachteile ==
Oft wird dynamisches HTML für effekt-orientierte Funktionen verwendet, bei denen der Nutzen nicht klar erkennbar ist und die eher stören.


In der Anfangszeit konnte DHTML nur über [[Webbrowser|Browser]]-spezifische sogenannte ''DHTML-Modelle'' realisiert werden, die nicht zueinander kompatibel waren. Daher führten einige DHTML-Seiten unter bestimmten Browsern zu Fehlern. Dieser Ruf hängt dynamischem HTML bis heute an. Daher wird heute auch der Begriff ''DOM Scripting'' verwendet, mit dem man standardkonformes DHTML von Browser-spezifischen Varianten abgrenzen möchte.
Oft wird dynamisches HTML für effekt-orientierte Funktionen verwendet, bei denen der Nutzen nicht klar erkennbar ist und die eher stören.


Dynamisches HTML stellt teils hohe Anforderungen an die JavaScript-Fähigkeiten des Browsers, die nur von den neueren Browsergenerationen erfüllt werden. Wenn die Verwendung von JavaScript, z.&nbsp;B. aus Sicherheitsgründen, deaktiviert wird, kann dynamisches HTML nicht verwendet werden. Darüber hinaus kann sich die Zugänglichkeit für Anwender verschlechtern, die wegen körperlichen Einschränkungen auf alternative Eingabe- bzw. Ausgabemethoden zurückgreifen müssen (siehe [[Barrierefreies Internet]]). Es ist aber möglich, dynamisches HTML so zu verwenden, dass es nur bei Browsern verwendet wird, die damit auch umgehen können. Die übrigen Anwender können die Website dann verwenden, als ob diese gar kein dynamisches HTML einsetzen würde.
In der Anfangszeit konnte DHTML nur über [[Webbrowser|Browser]]-spezifische sogenannte ''DHTML-Modelle'' realisiert werden, die nicht zueinander kompatibel waren. Daher führten einige DHTML Seiten unter bestimmten Browsern zu Fehlern. Dieser Ruf hängt dynamischem HTML bis heute an. Daher wird heute auch der Begriff ''DOM Scripting'' verwendet, mit dem man standardkonformes DHTML von Browser-spezifischen Varianten abgrenzen möchte.

Dynamisches HTML stellt teils hohe Anforderungen an die Javascript-Fähigkeiten des Browser, die nur von der neuesten Browsergeneration erfüllt werden. Auch wenn die Verwendung von Javascript aus Sicherheitsgründen deaktiviert wird, kann dynamisches HTML nicht verwendet werden. Darüber hinaus kann sich die Zugänglichkeit für Anwender verschlechtern, die wegen körperlichen Einschränkungen auf alternative Eingabe- bzw. Ausgabemethoden zurückgreifen müssen (siehe [[Barrierefreies Internet]]). Es ist aber möglich, dynamisches HTML so zu verwenden, dass es nur bei Browsern verwendet wird, die damit auch umgehen können. Die übrigen Anwender können die Website dann verwenden, als ob diese gar kein dynamisches HTML einsetzen würde. Auch [[Suchmaschine]]n können dynamisches HTML nicht verwenden und bei falscher Anwendung nicht mehr alle Inhalte der Seite auffinden.

== Siehe auch ==

* [[Dynapi]] (Entwicklung 2005 eingestellt)
* [[Web Service]],
* [[XML-RPC]]


== Weblinks ==
== Weblinks ==
* [https://wiki.selfhtml.org/wiki/JavaScript/Tutorials Tutorials für Anfänger und Schritt-für-Schritt-Anleitungen für konkrete Problemstellungen] im [[SELFHTML]]-Wiki
* [http://de.selfhtml.org/dhtml/ SELFHTML: Dynamisches HTML]
* [http://www.dhtmlgoodies.com/ Freie DHTML und Ajax Skripte (englisch)]


[[Kategorie:World Wide Web]]
[[Kategorie:World Wide Web]]
[[Kategorie:HTML]]
[[Kategorie:HTML]]

[[bg:DHTML]]
[[cs:DHTML]]
[[en:Dynamic HTML]]
[[es:HTML dinámico]]
[[eu:DHTML]]
[[fa:دی‌اچ‌تی‌ام‌ال]]
[[fi:DHTML]]
[[fr:HTML dynamique]]
[[he:Dynamic HTML]]
[[hi:डायनेमिक एचटीएमएल (Dynamic HTML)]]
[[id:DHTML]]
[[it:DHTML]]
[[ja:ダイナミックHTML]]
[[km:ឌីណាមិក HTML]]
[[ko:DHTML]]
[[nl:Dynamic HTML]]
[[pl:Dynamiczny HTML]]
[[pt:DHTML]]
[[ro:DHTML]]
[[ru:DHTML]]
[[sk:Dynamické HTML]]
[[sv:DHTML]]
[[tr:DHTML]]
[[uk:DHTML]]
[[vi:HTML động]]
[[zh:動態HTML]]

Aktuelle Version vom 21. Dezember 2024, 21:44 Uhr

Die Begriffe DHTML, dynamisches HTML (englisch dynamic HTML) oder auch DOM-Scripting bezeichnen bestimmte Webdesign-Methoden, bei denen während der Anzeige einer Webseite diese selbst, ausgelöst durch Ereignisse wie z. B. Benutzereingaben, verändert wird.

Der Begriff „dynamisch“ bezieht sich dabei auf die Idee, dass diese Ereignisse auch mehrfach beim Anzeigen einer Seite auftreten können.

Beispiele für dynamische Anzeigeeffekte sind:

  • das Erscheinen („Aufklappen“) eines Menüs
  • die Hervorhebung eines Textes
  • die Möglichkeit, Objekte durch Drag & Drop auf dem Bildschirm zu verschieben
  • Formularfelder automatisch in Abhängigkeit von anderen Feldern zu belegen
  • Effekte wie bei clientseitigen Anwendungsprogrammen

Die Skriptsprachen JavaScript im Netscape Navigator und JScript im Microsoft Internet Explorer ermöglichten schon Mitte der 1990er Jahre die ereignisbasierte Veränderung von Webseiten. Damals wurde der Begriff DHTML benutzt, um auf diese Fähigkeiten der damaligen Programmversionen hinzuweisen. Durch die Standardisierung des Document Object Model und das Platzen der damaligen Dotcom-Blase geriet der Begriff aus der Mode.

Dynamisches HTML umfasst die folgenden Techniken:

  • HTML zum Verfassen von Dokumenten
  • eine clientseitige Skriptsprache, meistens JavaScript
  • eine Schnittstelle zur Änderung und Erweiterung des HTML-Dokuments, heute wird vor allem das Document Object Model (DOM) verwendet
  • XMLHttpRequest, um Daten zwischen dem Browser und einem entfernten HTTP-Server auszutauschen (siehe auch Ajax).
  • Fetch API, um Daten zwischen dem Browser und einem entfernten HTTP-Server auszutauschen.
  • ein Format zur Übertragung strukturierter Daten, etwa XML oder auch JSON

Dabei müssen nicht unbedingt alle Techniken dieser Liste in einem Dokument verwendet werden (insbesondere die zur Datenübertragung nach dem ersten Laden nicht), um es als Anwendung von dynamischem HTML bezeichnen zu können.

Ein einfaches Beispiel eines dynamischen HTML-Abschnitts, bei dem sich der dargestellte Text beim Anklicken verändert:

...
<p onclick="this.firstChild.nodeValue = 'Danke'">Klick mich</p>
...

Kritik und Nachteile

[Bearbeiten | Quelltext bearbeiten]

Oft wird dynamisches HTML für effekt-orientierte Funktionen verwendet, bei denen der Nutzen nicht klar erkennbar ist und die eher stören.

In der Anfangszeit konnte DHTML nur über Browser-spezifische sogenannte DHTML-Modelle realisiert werden, die nicht zueinander kompatibel waren. Daher führten einige DHTML-Seiten unter bestimmten Browsern zu Fehlern. Dieser Ruf hängt dynamischem HTML bis heute an. Daher wird heute auch der Begriff DOM Scripting verwendet, mit dem man standardkonformes DHTML von Browser-spezifischen Varianten abgrenzen möchte.

Dynamisches HTML stellt teils hohe Anforderungen an die JavaScript-Fähigkeiten des Browsers, die nur von den neueren Browsergenerationen erfüllt werden. Wenn die Verwendung von JavaScript, z. B. aus Sicherheitsgründen, deaktiviert wird, kann dynamisches HTML nicht verwendet werden. Darüber hinaus kann sich die Zugänglichkeit für Anwender verschlechtern, die wegen körperlichen Einschränkungen auf alternative Eingabe- bzw. Ausgabemethoden zurückgreifen müssen (siehe Barrierefreies Internet). Es ist aber möglich, dynamisches HTML so zu verwenden, dass es nur bei Browsern verwendet wird, die damit auch umgehen können. Die übrigen Anwender können die Website dann verwenden, als ob diese gar kein dynamisches HTML einsetzen würde.