Hallo,
mit den neuen FF Versionen erhalte ich keinen Zugriff mehr auf die Applet-Methoden aus JavaScript heraus.
Für das Applet benutze ich das Object und Embed-Tag:
<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="100%" height="100%" align="top" codebase="http://java.sun.com/update/1.5.0/j…Version=1,3,0,0" name="ItemApplet">
<PARAM NAME="java_code" VALUE="com.imsgmbh.client.LMS.applets.BasixQti.class">
<PARAM NAME="java_codebase" VALUE="/business-englisch/classes">
<PARAM NAME="java_type" VALUE="application/x-java-applet;version=1.3.1">
<PARAM NAME="java_alt" VALUE="">
<PARAM NAME="java_name" VALUE="ItemApplet">
<PARAM NAME="java_vspace" VALUE="0">
<PARAM NAME="java_hspace" VALUE="0">
<PARAM NAME="java_archive" VALUE="system.jar">
...
<EMBED TYPE="application/x-java-applet;version=1.3.1" CODE="com.imsgmbh.client.LMS.applets.BasixQti.class" CODEBASE="/business-englisch/classes"
ARCHIVE="system.jar" WIDTH="100%" HEIGHT="100%" ALIGN="top" ALT="" NAME="ItemApplet" HSPACE="0" VSPACE="0" PLUGINSPAGE="http://www.uni-deutsch.de/java_install/installnsjava.htm"
...
></EMBED>
</OBJECT>
Mit JavaScript greife ich so auf das Applet zu:
try{
var ret="";
if(ns4 ns6){
var applet = document.embeds[0];
alert(applet);
ret = applet.getActiveItem();
alert(ret);
}
else{
ret = document.ItemApplet.getActiveItem();
}
}
catch(e){ alert(e); }
Wenn ich nun die JS-Funktion ausführe kommt die Fehlermeldung:
An das Applet selbst komme ich anscheinend ran, denn wenn ich mir die Variable applet ausgebe, ist sie vom Typ "object HTMLEmbedElement".
Doch wenn dann die Applet-Applet Methode getActiveItem() aufgerufen wird, kommt die Fehlermeldung "TypeError applet.getActiveItem is not a function".
Die Methode ist 100% im Applet vorhanden und als public und nicht statisch definiert.
Mit dem IE funktioniert es und es hat bis vor der FF Version 1.5 auch mit FF funktioniert.
Ich habe versucht auch auf diese Arten auf das Applet, aber ohne ERfolg, zuzugreifen:
var applet = document.embeds['ItemApplet'];
var applet = document.getElementById(document.embeds[0].id);
var applet = document.getElementsByName('ItemApplet');
Das Objekt selbst krieg ich immer, aber anscheinend ist es nicht das Applet. Oder muss ich die Methode anders aufrufen?
Bin dankbar für jede Hilfe, da ich absolut nicht weiterkomme!
Danke!
jack-flash