Hejsan!
Jag har en signed applet på min sida, som ska anropa ett javascript som sedan ska göra en form.submit();
det ser ut såhär:
<applet width="460" height="140" mayscript code="com.ibm.cbt_bidt_3_2_8.thinclient.LogonApplet.class"
archive="cbt_bidt_3_2_8_sign.jar"
id="LoginApplet" style="padding-left: 20px; padding-top: 20px;" >
<param name="scriptable" value="true" />
<param name="mayscript" value="true" />
<param name="cabbase" value="cbt_bidt_3_2_8_sign.cab" />
<param name="locale" value="sv" />
<param name="adddata" value="<%= Session["challenge"] %>" />
</applet>
<form id="LogonForm" method="POST" action="SignPage.aspx">
<input name="signature" value="" type="HIDDEN" />
</form>
<script type="text/javascript" language="JavaScript">
function onLogonOK(logonMessage) {
document.LogonForm.signature.value = logonMessage;
document.LogonForm.submit()
}
</script>
appletkoden för anropet ser ut såhär:
import netscape.javascript.JSObject;
public final class JSCallbackImpl extends s implements Copyright_IBM
{
public void a(String string, String[] strings) {
try {
JSObject.getWindow(a).call(string, strings);
} catch (Throwable throwable) {
System.out.println("\nFunction call: " + string + "\n"
+ "Communication Error to JavaScript: "
+ throwable);
}
}
public Object a(String string) {
Object object = null;
String string_0_ = null;
Object object_1_ = null;
try {
JSObject jsobject = JSObject.getWindow(a);
try {
StringTokenizer stringtokenizer
= new StringTokenizer(string, ".");
for (int i = 0; i < stringtokenizer.countTokens() - 1; i++) {
string_0_ = stringtokenizer.nextToken();
jsobject = (JSObject) jsobject.getMember(string_0_);
}
if (stringtokenizer.hasMoreTokens()) {
string_0_ = stringtokenizer.nextToken();
object_1_ = jsobject.getMember(string_0_);
}
} catch (Throwable throwable) {
System.out.println("\nJavaScript property not found: "
+ string_0_ + " of " + string + "\n"
+ throwable);
}
} catch (Throwable throwable) {
/* empty */
}
return object_1_;
}
}
namngivningen är helt åt helvete i alla klasser i appleten (jag har INTE skrivit den) så det är sjukt svårt att fatta sammanhanget.
I javaconsolen får jag detta meddelandet:
network: Cachepost ej hittad [webbadress: http://localhost:3461/cbt_bidt_3_2_8_sign.jar, version: null]
network: Cachepost ej hittad [webbadress: http://localhost:3461/cbt_bidt_3_2_8_sign.jar, version: null]
Säkerhetsmodell för Netscape kan inte längre hanteras.
Övergå till säkerhetsmodellen för Java 2 i stället.
Säkerhetsmodell för Netscape kan inte längre hanteras.
Övergå till säkerhetsmodellen för Java 2 i stället.
liveconnect: Anropar JS-metod: onLogonOK
Function call: onLogonOK
Communication Error to JavaScript: netscape.javascript.JSException
När jag kör appleten så blir allt grått som om den processerar, vilket den ska, men sen händer inget mer.