Hallo,
wenn man auf -> diese Seite geht, erscheint ein video mit dazugehörigem Applet, das die Position des Videos in einem Thread laufend ausgibt (zu Demonstrationszwecken des Bugs). Das Applet läuft soweit auch, nur wenn man
a) den Tab schließt, stürzt der Browser ab und schließt sich selbst
b) den Browser schließt, bleibt das Java-Plugin sowie der Firefox-Prozess im Memory und man muß ihn killen, um FF neu zu starten.
Manchmal stürzt er auch 3-4 mal nicht ab, dann aber wieder.
Der (interessante) Code des Applets:
public void init() {
// Init JSObjects
win = JSObject.getWindow(this);
}
// Applets start method not thread
public void start() {
if (timerThread == null) {
timerThread = new Thread(this, "Timer");
timerThread.start();
}
}
// The timerThread which updates the video time each 300 ms
public void run() {
Thread myThread = Thread.currentThread();
while (timerThread == myThread) {
// RP-Anfang
debug = "time = " + win.eval("document.embeds.MediaPlayer.GetPosition()").toString();
debug = debug + " total: " + win.eval("document.embeds.MediaPlayer.GetLength()").toString();
// RP-Ende
repaint();
try {
Thread.sleep(300);
}
catch (InterruptedException e) {
}
}
}
public void stop() {
timerThread = null;
System.out.println("Thread stopped");
}
public void paint(Graphics g) {
g.drawString(debug, 80, 18);
}
Alles anzeigen
Wenn man die Zeilen innerhalb "// RP-Anfang" bis "// RP-Ende" rauslässt, stürzt FF nach dem Beenden nicht ab.
Woran könnte das liegen? Bin ziemlich verzweifelt, würde so gerne Video-Anwendungen für den FF schreiben, aber wenn er nach dem Beenden immer abstürzt, macht es leider wenig Sinn.
Bei dem Internet-Explorer klappt dieses Programm ohne Probleme (wenn man die Zeilen innerhalb //RP entsprechend anpasst).