SELFHTML/Quickbar HTML Multimedia

| ## Daten und Programme als Objekt einbinden
| Objekte in HTML Datendateien als Objekt einbinden Verweis-sensitive Grafiken als Objekt einbinden Java-Applets als Objekt einbinden ActiveX-Controls als Objekt einbinden Rahmen um Objekte Namen für Objekte Weitere Möglichkeiten

## Objekte in HTML

Unter "Objekt" wird hier jede Art von Datei verstanden, die sich außerhalb einer HTML-Datei befindet und in diese HTML-Datei eingebunden werden soll. Es kann sich um eine Datendatei handeln, also etwa um eine Excel-Tabelle, eine AutoCad-Zeichnung oder eine Midi-Musikdatei. Es kann sich aber auch um eine vom WWW-Browser ausführbare Datei handeln, also um ein Programm. Das können zum Beispiel Java-Applets oder ActiveX-Controls sein.

Damit nicht für jede neue Form der Einbindung anderer Ressourcen ein neues HTML-Tag entsteht, wird es in Zukunft nur noch ein mächtiges HTML-Tag für alle Multimedia- und Fremdprogrammreferenzen geben: das `<object>`-Tag. Das `<object>`-Tag kann zwar nicht das Problem lösen, wie eine beliebige Datei beim Anwender angezeigt werden kann, aber es bietet zumindest eine einheitliche Syntax und trägt dadurch zur Vereinfachung von HTML bei.

Das `<object>`-Tag wird noch nicht vollständig von den WWW-Browsern unterstützt. Es wird deshalb noch eine Weile dauern, bis die Mehrzahl der Anwender einen WWW-Browser besitzt, der den neuen Befehl in allen Varianten richtig interpretiert. Das `<object>`-Tag ist jedoch so ausgelegt, daß es herkömmliche Befehle zum Einbinden von Fremddateien alternativ ermöglicht.

### Beachten Sie:

Wenn Sie mit Versuchen, das `<object>`-Tag zu verwenden, keinen Erfolg haben, probieren Sie folgende herkömmlichen Möglichkeiten:

Multimedia einbinden (Netscape)
Videos einbinden (Microsoft)
Java-Applets einbinden

## Datendateien als Objekt einbinden

Anzeigebeispiel: So sieht's aus

Sie können eine beliebige Datendatei als Objekt in eine HTML-Datei einbinden. Ein WWW-Browser wie Netscape kann solche Dateien anzeigen, wenn der Anwender ein entsprechendes Plugin installiert hat. Wenn das Plugin installiert ist, kann der WWW-Browser die Datei so in seinem Anzeigefenster präsentieren, wie sie von dem Ursprungsprogramm erstellt wurde. Bei Abspielvorgängen, etwa von Videos oder Sound, wird ein entsprechender Player angezeigt - je nachdem, wie das Plugin beschaffen ist.

Wenn dem Browser eine Verknüpfung zwischen dem Datentyp und einem Fremdprogramm bekannt ist, kann er das Fremdprogramm mit der betreffenden Datei starten.

### Beispiel 1:

    <object data="hochzeit.avi" type="video/x-msvideo">
     <img src="hochzeit.jpg">
    </object>

### Beispiel 2:

    <object data="hochzeit.avi" type="video/x-msvideo">
     <embed src="hochzeit.avi">
    </object>

### Erläuterung:

Mit `<object ...>` leiten Sie die Referenz ein.

Mit dem Attribut `data=` referenzieren Sie die gewünschte Datei (data = Daten). Die Angabe muß in Anführungszeichen stehen. In den obigen Beispielen wird vorausgesetzt, daß sich die Datei im gleichen Verzeichnis befindet wie die HTML-Datei, in der sie referenziert wird. Die Datei kann sich jedoch auch in einem beliebigen anderen Verzeichnis oder auf einem anderen Internet-Server befinden. In solchen Fällen gelten die gleichen Regeln wie beim Einbinden von Grafiken (dort mit der Angabe `src=`).

Im Zusammenhang mit dem `<object>`-Tag können Sie den Mime-Type der Datei angeben. Bei Datendateien, die mit `data=` referenziert werden, notieren Sie dazu die Angabe `type=`. Dahinter folgt, in Anführungszeichen, ein gültiger Mime-Type. Die Angabe des Mime-Types sollte in Anführungszeichen stehen. Wenn Sie den Mime-Typ nicht kennen, lassen Sie die Angabe `type=` weg. Wenn Sie den Mime-Type kennen und angeben, helfen Sie dem WWW-Browser durch die Angabe, schneller zu reagieren.

Eine `<object>`-Referenz benötigt ein abschließendes `</object>`. Zwischen `<object>` und `</object>` können verschiedene Angaben stehen. Im ersten der obigen Beispiele steht dort eine gewöhnliche Grafikreferenz. Diese Grafik wird angezeigt, falls die bei `<object...>` angegebene Datei nicht angezeigt werden kann, bzw. wenn der WWW-Browser das `<object>`-Tag nicht kennt. Im zweiten der obigen Beispiele wird an dieser Stelle die gleiche Datei referenziert wie im `<object>`-Tag selbst, jedoch nach der herkömmlichen Netscape-Methode zum Einbinden von Multimedia. Mit einem Konstrukt wie im zweiten der obigen Beispiele stellen Sie sicher, daß auch ältere Netscape-Versionen den gewünschten Befehl erkennen.

### Beachten Sie:

Wenn der WWW-Browser trotz installiertem Plugin Schwierigkeiten bei der Anzeige einer Multimedia-Datei macht, zum Beispiel bei Videos oder VRML-Dateien, dann geben Sie Breite und Höhe der Anzeige explizit an.

Wenn Sie bei `type=` den Mime-Type `text/html` und bei `data=` eine HTML-Datei angeben, können Sie eine andere HTML-Datei als eingebettetes Objekt innerhalb der aktuellen HTML-Datei anzeigen.

## Verweis-sensitive Grafiken als Objekt einbinden

Anzeigebeispiel: So sieht's aus

Es gibt bereits Methoden, Grafiken mit verweis-sensitiven Flächen in HTML einzubinden. Die hier beschriebene Methode folgt dem Ansatz, zukünftig alle Fremddateien nur noch als Objekt einzubinden. Ob sich dies bei Grafiken mit verweis-sensitiven Flächen und bei Grafiken allgemein jedoch so bald durchsetzen wird, ist angesichts der Verbreitung des `<img>`-Tags eher zweifelhaft.

### Beispiel:

    <object data="hypgraph.gif" shapes>
     <a href="#Anker" shape=rect coords="1,1,249,49">Verweistext</a>
     <a href="datei.htm" shape=rect coords="1,51,149,299">Verweistext</a>
     <a href="../datei.htm" shape=rect coords="251,1,399,399">Verweistext</a>
     <a href="http://www.nix.de/" shape=rect coords="151,51,249,299">Verweistext</a>
    </object>

### Erläuterung:

Mit `<object ...>` leiten Sie die Referenz ein.

Mit der Angabe `data=` referenzieren Sie die gewünschte Grafikdatei (data = Daten). Die Angabe muß in Anführungszeichen stehen. Beim Referenzieren aus anderen Verzeichnissen oder von anderen WWW-Adressen gelten die gleichen Regeln wie beim Einbinden von Grafiken (dort mit der Angabe `src=`).

Um das Objekt als Grafik mit verweis-sensitiven Flächen kenntlich zu machen, müssen Sie im einleitenden `<object>`-Tag außerdem die Angabe `shapes` notieren (shapes = Schablonen).

Zwischen dem einleitenden `<object>` und dem abschließenden `</object>` definieren Sie die gewünschten verweis-sensitven Flächen. Mit `<a href=>` bestimmen Sie, wohin ein Verweis führen soll, wenn der Anwender auf den definierten Bereich in der Grafik klickt. Dabei gilt das Schema für Verweise in HTML.

Im einleitenden `<a>`-Tag bestimmen Sie mit `shape=` und `coords=` die verweis-sensitiven Flächen der Grafik. Dabei gelten die gleichen Regeln wie bei herkömmlichen verweis-sensitiven Grafiken.

### Beachten Sie:

Der Verweistext, den Sie zwischen `<a href= shape= coords=>` und `</a>` angeben, wird dem Anwender angezeigt, wenn der WWW-Browser den Befehl zum Einbinden der verweis-sensitiven Grafik als Objekt nicht kennt, oder falls die Grafik nicht angezeigt werden kann.

Innerhalb der `<a>`-Tags ist auch das Attribut `tabindex=` erlaubt. Die Wirkung ist die gleiche wie bei der Tabulator-Reihenfolge bei Verweisen und wird dort näher beschrieben.

## Java-Applets als Objekt einbinden

Anzeigebeispiel: So sieht's aus

Java-Applets sind ausführbare Programme, deren Bildschirmausgaben ein WWW-Browser innerhalb seines Anzeigefensters darstellen kann. Applets können z.B. bewegte Animationen (Tricksequenzen) enthalten, Echtzeitabläufe in bewegten Grafiken darstellen (Stichwort: Börsenticker), oder Interaktionen mit dem Anwender austauschen (kleine Spiele wie Hangman oder Mastermind, Taschenrechner, grafische Simulationen aufgrund eingebbarer Parameter usw.).

Java-Programme müssen in compilierter Form vorliegen, um bei der Referenzierung in einer HTML-Datei ausgeführt werden zu können. Normalerweise haben compilierte Java-Applets die Dateinamenerweiterung `.class`.

### Beispiel:

    <object classid="java:animation" "codebase=../java/" codetype="application/java-vm">
     <param name=animation_text value="Mein animierter Text">
    </object>

### Erläuterung:

Mit `<object ...>` leiten Sie die Referenz ein.

Mit der Angabe `classid=` referenzieren die Programmdatei (classid = class identifier = Klassenbezeichner). Die Angabe muß in Anführungszeichen stehen.

Die Angabe besteht aus der festen Zeichenfolge `java:` - gefolgt von dem Namen der .class-Datei (also der ausführbaren Java-Programmdatei), jedoch ohne Angabe der Endung .class. Im obigen Beispiel wird auf diese Weise die Datei `animation.class` in der Form `classid="java:animation"` eingebunden.

Wenn sich die Programmatei in einem anderen Verzeichnis befindet als die HTML-Datei, in der sie referenziert wird, oder auf einem anderen Internet-Server, dann müssen Sie den Pfad bzw. die Adresse des Server-Rechners und das Verzeichnis angeben, wo sich die Programmdatei befindet (nur das Verzeichnis, nicht mehr den Namen der Programmdatei). Dazu verwenden Sie die Angabe `codebase=`. Die Angabe muß in Anführungszeichen stehen. Für die Angaben gelten die gleichen Regeln wie beim Einbinden von Grafiken (dort mit der Angabe `src=`). Die Angabe von `codebase=` kann in einigen Fällen auch erforderlich sein, um Teile eines Java-Applets von einem bestimmten Internet-Server nachzuladen.

Ähnlich wie für Datendateien gibt es auch für ausführbare Programmdateien Mime-Typen. Wenn Sie den Mime-Typ eines Programms kennen, können Sie mit `codetype=` den Typ angeben. Dadurch helfen Sie dem WWW-Browser, schneller zu reagieren.

Eine `<object>`-Referenz benötigt ein abschließendes `</object>`. Zwischen `<object>` und `</object>` können Sie im Zusammenhang mit Java-Applets Aufrufparameter notieren. Viele Java-Applets erwarten einen oder mehrere solche Parameter beim Aufruf. Jeder Parameter wird durch `<param name= value=>` angegeben. Hinter `name=` geben Sie den Namen des Parameters an. Hinter `value=` geben Sie den gewünschten Wert des Parameters an, der dem Programm übergeben werden soll. Zahlen werden ohne Anführungszeichen, Zeichenketten mit Anführungszeichen angegeben.

### Beachten Sie:

Bei Java-Programmen, die aus mehreren ausführbaren Dateien bestehen, müssen Sie die Datei angeben, die den Programmstart enthält. Näheres dazu entnehmen Sie der Dokumentation, die solchen Java-Programmen beigefügt sein sollte. Auch die genauen Anweisungen zum Einbinden eines Java-Applets finden Sie normalerweise in der Dokumentation zu dem Java-Applet.

Wenn der WWW-Browser Schwierigkeiten bei der Anzeige eines Java-Applets macht, dann geben Sie Breite und Höhe der Anzeige explizit an.

## ActiveX-Controls als Objekt einbinden

Anzeigebeispiel: So sieht's aus

ActiveX-Controls können ähnliche Aufgaben wahrnehmen wie Java-Applets. Jedoch sind sie stärker als Java-Applets in der Windows-Welt und der Welt von Microsoft verankert und werden nur vom Microsoft Internet Explorer interpretiert.

### Beispiel:

    <object "classid=clsid:663C8FEF-1EF9-11CF-A3DB-080036F12502"
    data="clock.stm" codebase="http://www.acme.com/ole/">
    </object>

### Erläuterung:

Mit `<object ...>` leiten Sie die Referenz ein.

Mit der Angabe `classid=` referenzieren das ActiveX-Control (classid = class identifier = Klassenbezeichner). Die Angabe muß in Anführungszeichen stehen. Die Angabe besteht aus der festen Zeichenfolge `clsid:` - gefolgt von der Bezeichner-ID. Diese ID müssen Sie kennen.

ActiveX-Controls benötigen in einigen Fällen Initialisierungsdaten, die in einer entsprechenden Datei stehen. Die Datei mit solchen Initialisierungsdaten können Sie mit `data=` angeben. Die Angabe muß in Anführungszeichen stehen. Dabei gelten die gleichen Regeln wie beim Einbinden von Grafiken (dort mit der Angabe `src=`).

Mit der Angabe `codebase=` geben Sie die Internet-Adresse an, von der das ActiveX-Control geladen werden kann, wenn der WWW-Browser es auf dem Rechner des Anwenders nicht findet (ActiveX-Controls werden nach dem Laden normalerweise in einem Windows-Unterverzeichnis abgespeichert - Dateien *.ocx - und beim erneuten Aufruf auch wieder von dort geladen.

## Rahmen um Objekte

Anzeigebeispiel: So sieht's aus

Sie können festlegen, daß der Browser einen Rahmen um ein eingebundenes Objekt zeichnet. Diese Angabe ist jedoch nur von Bedeutung, wenn die Anzeige mit Hilfe eines Plugins erfolgt und direkt im Anzeigefenster des WWW-Browsers möglich ist.

### Beispiel:

    <object data="hochzeit.avi" border=5>
    </object>

### Erläuterung:

Durch das Attribut `border=` innerhalb des einleitenden `<object>`-Tags wird ein Rahmen um das Objekt definiert (border = Rand). Die Angabe erfolgt in Pixeln und bedeutet die Rahmendicke.

## Namen für Objekte

Sie können einen Namen für ein Objekt vergeben.

### Beispiel:

    <object data="hochzeit.avi" type="video/x-msvideo" name="Hochzeitsvideo">
     <img src="hochzeit.jpg">
    </object>

### Erläuterung:

Mit `name=` innerhalb der Objektreferenz vergeben Sie einen Namen für das Objekt. Der Name muß in Anführungszeichen stehen, sollte nicht zu lang sein und darf keine Leerzeichen, Sonderzeichen oder deutsche Umlaute enthalten. Nur der Buchstaben, Ziffern und der Unterstrich "_" sind erlaubt.

## Weitere Möglichkeiten

Das `<object>`-Tag kann Universalattribute enthalten.

Es ist durchaus auch erlaubt, CSS Style-Sheets auf Multimedia-Objekte anzuwenden. Dazu müssen Sie zunächst wissen, wie man Style-Sheets definieren kann. Anschließend sind Sie in der Lage, Style-Sheet-Angaben anzuwenden. Auf das `<object>`-Tag können Sie beispielsweise folgende Style-Sheet-Angaben anwenden:
Abstände, Ränder, Ausrichtung
Rahmen und Innenabstände
Hintergrundfarben und -bilder
Elemente positionieren

weiter: | Breite und Höhe von Objekten
zurück: | Tips zum Umgang mit Frames

SELFHTML/Quickbar HTML Multimedia

© 1998 Stefan Münz, muenz@csi.com