SELFHTML/Navigationshilfen JavaScript/DOM Objektreferenz | |
applets |
|
applets: Allgemeines zur Verwendung Eigenschaft:length (Anzahl Java-Applets) |
|
Mit dem Objekt applets
, das in der JavaScript-Objekthierarchie unterhalb des document-Objekts liegt, haben Sie Zugriff auf Java-Applets, die in einer HTML-Datei definiert sind. Die einzige gewöhnliche JavaScript-Objekteigenschaft des applet
-Objekts ist die Anzahl der Java-Applets in einer Datei.
Über das applets
-Objekts haben Sie jedoch auch Zugriff auf Code in Java-Applets. Dazu müssen Sie das gewünschte Java-Applet ansprechen. Es stehen vier Arten zur Verfügung, mit JavaScript ein bestimmtes Java-Applet anzusprechen:
document.applets[#].Methode();
document.applets.AppletName.Methode();
document.applets["AppletName"].Methode();
document.AppletName.Methode();
Java-Applets können Sie auf drei Arten ansprechen:
document.applets
an und dahinter in eckigen Klammern, das wie vielte Java-Applet in der Datei Sie meinen. Beachten Sie, dass der Zähler bei 0 beginnt, d.h. das erste Java-Applet sprechen Sie mit applets[0]
an, das zweite Java-Applet mit applets[1]
usw. Beim Zählen gilt die Reihenfolge, in der die <applet>
-Elemente in der Datei notiert sind.document.applets
angesprochen. Notieren Sie hinter document.applets
einen Punkt zum Ansprechen des Unterobjekts und direkt dahinter den Namen, den Sie bei der Definition des Java-Applets im einleitenden <applet>
-Tag im Attribut name
angegeben haben.objekt.unterobjekt
gleichwertig zu objekt["unterobjekt"]
. Notieren Sie wie beim Ansprechen mit Indexnummer hinter document.applets eckige Klammern. Innerhalb der eckigen Klammern notieren Sie in Anführungszeichen den Namen, den Sie bei der Definition des Java-Applets im einleitenden <applet>
-Tag im Attribut name
angegeben haben. Diese Schreibweise ist vor allem zum Zugriff auf Java-Applets nützlich, deren Namen Sonderzeichen enthalten, welche den Zugriff nach Schema 2 unmöglich machen. Sie können zwischen den eckigen Klammern auch eine String-Variable notieren, die den Ankernamen enthält.document.AppletName
den Namen an, den Sie bei der Definition des Java-Applets im einleitenden <applet>
-Tag im Attribut name
angegeben haben.Gemäß dem HTML-spezifischen DOM greift z.B. document.applets.Ankername
auf das applet
- bzw. object
-Elementobjekt zu, mit dem das Applet eingebunden ist. Auf diese Weise können Sie verschiedene Eigenschaften des Elementobjekts ansprechen und nutzen, die in der Referenz zum applet-Elementobjekt und object-Elementobjekt aufgelistet sind.
Sie können direkt auf den Code eines laufenden Java-Applets zugreifen. Dazu müssen Sie jedoch den Quellcode des Java-Applets kennen (Dateien *.java
vor dem Compilieren mit dem Java-Compiler).
Das folgende Beispiel zeigt das Prinzip. Nähere Informationen zur Vorgehensweise und zum Konzept des "lebendigen Drahts" ("LiveWire") zwischen JavaScript und Java finden Sie auf den Entwicklerseiten von Netscape (archivierte Version) (Anmerkung: AOL als Besitzer von Netscape hat den Originalserver im Oktober 2004 abgeschaltet. Im Februar 2005 schloss die Mozilla Foundation mit AOL eine Vereinbarung, um die Inhalte bald wieder verfügbar zu machen. Bis dahin führt dieser Link zu einer Ende 2003 archivierten Version.)
Anzeigebeispiel: So sieht's aus
import java.awt.Graphics; import java.applet.Applet; public class HelloWorld extends Applet { String myString ="Das ist mein Hallo-Text"; public void paint(Graphics g) { g.drawString(myString, 25, 20); } public void setString(String aString) { myString = aString; repaint(); } }
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> </head><body> <applet code="HelloWorld" name="Hallo" width="200" height="25"> </applet><br> <form name="Eingabe" action=""> <input type="text" name="Text"> <input type="button" value="Test" onclick="document.Hallo.setString(document.Eingabe.Text.value)"> </form> </body></html>
Im ersten Teil des Beispiels finden Sie den Quellcode eines Java-Applets, das einen Text am Bildschirm ausgibt. Auf den Quellcode wird hier nicht näher eingegangen. Achten Sie lediglich auf die letzte Methode, die in dem Quelltext definiert wird:
public void setString(String aString)
Damit wird der definierte Text letztendlich am Bildschirm ausgegeben.
Im zweiten Teil des Beispiels wird angenommen, dass der Quellcode aus dem ersten Teil des Beispiels mit dem Java-Compiler zu einem Java-Applet mit dem Namen HelloWorld.class compiliert wurde. Dieses Java-Applet wird in der HTML-Datei mit dem <applet>
-Tag eingebunden. Dabei erhält das Applet mit dem name
-Attribut den Namen "Hallo"
.
Unterhalb davon wird ein Formular mit einem Eingabefeld und einem Button definiert. In dem Eingabefeld lässt sich ein Text eingeben. Beim Klick auf den Button wird der eingegebene Text an das Java-Applet "gesendet", und zwar so, dass der Text, den das Applet anzeigt, durch den eingegebenen Text ersetzt wird.
Dazu wird das Applet mit document.Hallo
angesprochen. Dahinter wird keine JavaScript-Methode notiert, sondern direkt eine Methode aus dem Quellcode des Java-Applets, nämlich die Methode setString()
. Diese Methode erwartet als Parameter eine Zeichenkette (siehe Quellcode des Java-Applets). Das JavaScript übergibt als Zeichenkette den Wert aus dem Eingabefeld des Formulars.
Der Umgang mit Formularen in JavaScript wird beim forms-Objekt und seinen Unterobjekten näher beschrieben.
Opera bis Version 6 und der Internet Explorer 5.0 Macintosh Edition interpretierten dieses Beispiel nicht.
Speichert, wie viele Java-Applets eine HTML-Datei enthält.
Anzeigebeispiel: So sieht's aus
<html><head><title>Test</title> </head><body> <applet code="HelloWorld.class" name="Hallo" width="150" height="25"> </applet> <script type="text/javascript"> document.write("Gefunden wurden " + document.applets.length + " Java-Applets") </script> </body></html>
Mit document.applets.length
können Sie die Anzahl der Java-Applets in einer HTML-Datei ermitteln. Das Beispiel enthält zunächst HTML-Text mit einem Java-Applet und schreibt am Ende mit document.write() dazu, wie viele Applets in der Datei gefunden wurden.
forms | |
anchors | |
SELFHTML/Navigationshilfen JavaScript/DOM Objektreferenz |
© 2007 Impressum