Netscape 7.0 Absturz bei Java / Javascript-Kommunikation
Timo Siebert
- browser
Hallo Leute,
ich habe ein kleines Problemchen.
Ich möchte mittels eines Applets die Kommunikation zwischen einer
Javaklasse und einer Javascript-Methode herstellen, um beispielsweise
Daten aus einer Datenbank ohne Neuladen einer HTML-Seite zu aktualisieren.
Das ganze funktioniert prima mit IE 5.5 und höher, nur der Netscape
4.7 und 7.0 kriegen es nicht gebacken. Der 4.7er will gar nicht und
der 7.0 stürzt nach Drücken des Buttons auf der HTML-Seite unrettbar ab. Keine Java-Konsolenmeldung, nichts.
Da ich beide Browser unterstützen muss, mit meinem Latein aber am Ende bin, hoffe ich, hier ein paar Profis zu Rate ziehen zu können.
Evtl. ist es ein Security-Problem innerhalb des NetScape beim Init des Applets? Wie gesagt, keine Fehlermeldungen.
Hier die zwei kleinen Code-Stückchen:
HTML:
-------------------------- 8< ------------------------------
<HTML>
<script language="JavaScript1.3">
<!--
function changeText(TextBlock, text) {
document.getElementById(TextBlock).innerText=text;
};
// -->
</script>
<body>
<span id="TextBlock">Hier steht ein Text.</span>
<form>
<input type=button onClick="document.myApplet.changeText();" value="Text ändern"></form>
<applet name="myApplet" code="Com.class" width=2 height=2 MAYSCRIPT></applet>
</body><
</html>
-------------------------- 8< ------------------------------
Die Java-Klasse:
import netscape.javascript.*;
import java.applet.*;
public class Com extends Applet {
// Megasimples Applet zur Kommuikation zwischen Javascript und Java-Applet.
// Problem: Netscape 7.0 stürzt nach Klick auf den Button 'Text Ändern' ab.
// Frage: Warum tut der Browser das? IE 5.5 hat keine Probleme.
JSObject window;
public void init() {
window = JSObject.getWindow(this);
}
// Einfacher Test
public void changeText() {
Object[] aobjCall = {"TextBlock", "Hier steht jetzt ein anderer Text."};
window.call("changeText", aobjCall);
};
}