W3docs

HTML <applet> Tag

Das veraltete HTML-Tag <applet> bettete Java-Applets in Seiten ein. Warum es entfernt wurde, was es ersetzt und historische Beispiele.

Das Tag <applet> wurde verwendet, um ein Java-Applet — ein kleines, in Java geschriebenes Programm — direkt in eine Webseite einzubetten. Es ist veraltet: Kein moderner Browser kann Applets ausführen, weshalb das Tag in aktuellen Browsern keine Wirkung hat und in neuen Seiten nicht mehr verwendet werden sollte. Dieses Kapitel erklärt, was <applet> getan hat, warum es verschwunden ist und was man heute stattdessen einsetzt.

Das Element <applet> konnte andere HTML-Tags und Text zwischen seinem öffnenden und schließenden Tag enthalten. Dieser Fallback-Inhalt wurde angezeigt, wenn das Applet nicht geladen werden konnte — was heute immer der Fall ist.

Warum <applet> veraltet ist

Java-Applets setzten ein Browser-Plug-in (das Java-Plug-in) voraus, das über die NPAPI-Plug-in-Schnittstelle geladen wurde. Zwei Entwicklungen haben diesen Ansatz beendet:

  • NPAPI wurde aus Browsern entfernt. Chrome deaktivierte NPAPI standardmäßig im Jahr 2015 und entfernte es anschließend vollständig; Firefox stellte 2017 die Unterstützung für andere Plug-ins als Flash ein. Ohne NPAPI gibt es keine Möglichkeit mehr, das Java-Plug-in im Browser zu betreiben.
  • Das Java-Plug-in erreichte das Ende seines Lebenszyklus. Oracle kündigte 2016 die Einstellung des Browser-Plug-ins an, kennzeichnete es offiziell mit JDK 9 (2017) als veraltet und entfernte es mit JDK 11 (2018) vollständig. Selbst mit einem kompatiblen Browser gibt es kein Plug-in mehr, das ausgeführt werden könnte.

Diese Entscheidungen wurden durch das Sicherheitsmodell der Browser vorangetrieben: Native In-Page-Plug-ins liefen mit umfassenden Systemzugriffen und waren eine häufige Quelle für Sicherheitslücken, weshalb die Anbieter sie zugunsten von isolierten Webplattform-Technologien abschafften.

Was ersetzt Java-Applets heute? Es gibt keinen direkten Ersatz, da das Ziel — die Ausführung beliebigen nativen Codes auf der Seite — bewusst entfernt wurde. Moderne Alternativen hängen davon ab, was das Applet geleistet hat:

  • Für Berechnungen oder Spiele: Portieren Sie die Logik nach JavaScript und zeichnen Sie mit dem Element <canvas> oder WebGL.
  • Für leistungskritischen oder vorhandenen nativen Code: Kompilieren Sie ihn zu WebAssembly und rufen Sie ihn von JavaScript aus auf.
  • Zum Einbetten externer Medien oder Dokumente: Verwenden Sie das Element <embed> oder <object>.
Gefahr

Dieses Element ist ein veraltetes HTML-Tag in HTML 4.01 und in HTML5 vollständig obsolet. Es wurde aus dem Standard entfernt und wird in keinem modernen Browser ausgeführt. Für neue Projekte verwenden Sie stattdessen JavaScript, WebAssembly oder die Elemente <object> / <embed>.

Syntax

Das Tag <applet> wird paarweise verwendet. Der Inhalt wird zwischen dem öffnenden (<applet>) und dem schließenden (</applet>) Tag geschrieben.

Beispiel des HTML-Tags <applet>:

HTML applet Code 1

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <applet code="game.class" align="left" archive="game.zip" height="250" width="350">
      <param name="difficulty" value="easy" />
      <b>You need Java to play this game.</b>
    </applet>
  </body>
</html>
Warnung

Dies ist ein historisches Beispiel nur zur Referenz. Da kein aktueller Browser Java-Applets laden kann, bleibt die Live-Vorschau leer — moderne Browser zeigen nur den Fallback-Inhalt (hier den fetten Text) oder gar nichts an. Das Tag <param> übergab Konfigurationswerte an das Applet.

Ergebnis

Der Screenshot unten zeigt, wie ein funktionierendes Applet einst in einem alten Browser mit installiertem Java-Plug-in aussah.

Ein Java-Applet-Spiel, das in einem älteren Browser mit installiertem Java-Plug-in dargestellt wird

Historischer Ersatz mit dem HTML-Tag <object>:

In HTML 4.01 wurde das Element <object> als Standardersatz für <applet> empfohlen. Die Java-spezifischen Werte für codetype und classid, die unten gezeigt werden, sind selbst veraltet und werden in keinem Browser mehr ausgeführt — sie sind nur dokumentiert, um den historischen Migrationspfad aufzuzeigen, nicht als funktionierender Code.

HTML object-Beispiel (historisch)

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <object codetype="application/java" classid="java:programmingtutorials.class" height="200" width="200">Programming Tutorials</object>
  </body>
</html>
Warnung

Auch dieses Snippet wird in modernen Browsern leer dargestellt. Ersetzen Sie für echte Projekte die Applet-Funktionalität durch JavaScript und <canvas>, oder kompilieren Sie nativen Code zu WebAssembly. Die Elemente <object> und <embed> bleiben für das Einbetten von Medien und externen Dokumenten nützlich.

Attribute

Die folgenden Attribute galten ausschließlich für das Element <applet>. Sie sind veraltet und nicht Teil eines aktuellen HTML-Standards — sie haben in modernen Browsern keine Wirkung. Diese Tabelle dient nur historischen Referenzzwecken.

AttributWertBeschreibung
alignleft right top bottom middle baselineWird verwendet, um das Applet relativ zu anderen Elementen zu positionieren.
alttextWird verwendet, um einen alternativen Text für das Applet anzugeben.
archiveURLWird verwendet, um den Speicherort der Archivdatei anzugeben.
codeURLWird verwendet, um den Namen des Java-Applets anzugeben.
objectnameWird verwendet, um einen Verweis auf eine serialisierte Darstellung eines Applets anzugeben.
codebaseURLGibt eine relative Basis-URL für Applets an, die im Attribut code angegeben sind.
heightpixelsDefiniert die Höhe des Applets.
hspacepixelsWird verwendet, um den horizontalen Abstand um das Applet herum anzugeben.
namenameWird verwendet, um dem Applet einen Namen zu geben.
vspacepixelsWird verwendet, um den vertikalen Abstand um ein Applet herum anzugeben.
widthpixelWird verwendet, um die Breite eines Applets anzugeben.

Übung

Übung
Welche der folgenden Aussagen über das HTML-Tag <applet> sind korrekt?
Welche der folgenden Aussagen über das HTML-Tag <applet> sind korrekt?
Was this page helpful?