0251 / 590 644 - 0
info@a-coding-project.de

Netscape: LiveConnect

LiveConnect ist Netscapes Technologie für den Zugriff auf Java . Damit können, über den Netscape Browser (Netscape Navigator) bedingt, von JavaScript aus Java Objekte, Methoden und Variablen (etc.) abgefragt und behandelt werden und umgekehrt.

Verhüllungen

Bei der Verbindung von Java und JavaScript wird eine Verhüllung der JavaScript Objekte vorgenommen. Diese Verhüllungen werden (von Netscape) wrapper (Hüllen) genannt. Man kann sich das in etwa so vorstellen, dass zwar JavaScript keinen direkten Zugriff auf Java (und umgekehrt) hat, durch einen wrapper aber kann zu diesem die Verbindung aufgenommen werden. Dies ist wahrlich eine schwerfällige Beschreibung, erklärt allerdings einigermaßen gut, wie die Verbindung funktioniert.

Will man nun beispielsweise von Java aus auf ein Objekt einer JavaScript -Anweundung zugreifen, so verhüllt (wrappt) JavaScript dieses Objekt und sendet es dann an Java als eine Instanz der ( Java-)Klasse netscape.javascript.JSObject.
Will eine JavaScript -Anwendung auf ein Java-Objekt zugreifen, wird die Hülle (wrapper) verwendet um den Zugriff zu ermöglichen.

Bei der Kommunikation von JavaScript und Java ver- bzw. enthüllt der (Netscape) Browser dabei selbstständig und liefert die Daten weiter.

JavaScript zu Java

Alle Verbindungen von JavaScript zu Jave laufen über eine Reihe von vordefinierten Objekten mit bestimmten Eigenschaften. Zu diesen gehören: Java Array, Java Class, Java Objec und Java Package. Um nun beispielsweise ein Java-Applet zu steuern kann dieses direkt über seinen Namen angesprochen werden. Des Weiteren können die Funktionen oder Objekte des Applets ebenso über den Namen aufgerufen bzw. abgefragt werden. Beispiel:

<applet code="MeinApplet.class" name="AP1">
</applet>
<script>
 document.AP1.meineFunktion();
 a = document.AP1.meinObjekt;
</script> 

Bitte beachten Sie, dass bei der Konvertierung von JavaScript - zu Java-Objekten einige Unterschiede bzw. Ungleichheiten auftreten können. Wird beispielsweise eine unbeschriebene Variable übergeben wobei eine Variable vom Typ Int benötigt wird, so erhält diese automatisch den Wert 0.

Java zu JavaScript

Für die Kommunikation von Java zu JavaScript stellt Netscape 3 Java Klassen zur Verfügung: netscape.javascript.JSObject, netscape.javascript.JSException und netscape.plugin.Plugin. Um beispielsweise ein JavaScript -Objekt von Java aus abzufragen wird dazu die JSObject Klasse verwendet. Beispiel:

public meinObjekt(JSObject JavaScriptObjekt)
{
 this.Eigenschaft1 = (String)JavaScriptObjekt.getMember("Eigensschaft1");
 this.Eigensschaft2 = (String)JavaScriptObjekt.getMember("Eigensschaft2");

Bitte beachten Sie, dass nicht alle Java-Typen in JavaScript -Typen umgewandelt werden könne. Typen die nicht umgewandelt werden, werden automatisch in wrapper umgewandelt. Bei jeder weiteren Umwandlung werden dann die Standard-Methoden des Browsers zur Umwandlung verwendet.

LiveAudio

Mit Hilfe von JavaScript können die in ein Dokument eingebundenen Java-Objekte (embed), welche zur Wiedergabe von Musik dienen, gesteuert werden. Wird beispielsweise eine .wav-Datei mit Hilfe des embed-Elements in ein Dokument eingebunden, so erstellt der (Netscape) Browser dafür ein Java-Objekt, welches diese Dateien abspielen kann. Dazu stellt Netscape über das embeds-Objekt des documents einige Methoden und Eigenschaften zur Bedienung an. Beispiel:

<embed src="musik.wav" name="Musik" autostart="false" 
       hidden="true">
<a href="javascript:document.Musik.play()">Start</a>
<a href="javascript:document.Musik.stop()">Stop</a>