2011-04-08 76 views
1

在ubuntu上使用chrome,有一個基本的java applet和javascript交互。 JavaScript到Java進行得很好,但是當我嘗試讓java開發一個javascript方法時,chrome java插件崩潰。這一切在Fire Fox中都可以正常工作。在ubuntu上調用javascript函數時Java applet崩潰chrome java

的錯誤:

The following plug-in has crashed: icedTea NPR Web Browser Plugin (using IcedTea6 1.9.7 (6b20-1.9.7-0ubuntu1~10.04.1)) 

的HTML:

<object height='300' id='thisappletawesome' name='thisappletawesome'type='application/x-java-applet' width='550'> 
    <param name='classid' value='java:JSHelloWorld.class'> 
    <param name='codebase' value='/java/'> 
</object> 

的JavaScript:

function updateWebPage(){ 
    alert("java is touching me"); 
    document.thisappletawesome.setText("hihihi") 
} 

Java的:

import java.applet.*; 
import java.awt.*; 
import netscape.javascript.*; 
import javax.swing.*; 

public class JSHelloWorld extends JApplet { 
JTextArea txt = new JTextArea(100,100); 

public void init(){ 
    JSObject jso = JSObject.getWindow(this); 
    try { 
     jso.call("updateWebPage", new String[] {"Hihi"}); 
    } 
    catch (Exception ex) { 
     ex.printStackTrace(); 
    } 
} 

public JSHelloWorld() { 
    txt.setText("Hello World"); 
    getContentPane().add(txt); 
} 

public void setText(String s) 
{ 
    txt.setText(s); 
}  
+2

從java到updateWebPage(jso.call)的調用有一個參數,但javascript函數不帶參數。 – 2011-04-08 19:42:10

回答

1

這個問題看起來像OpenJDK。

sudo aptitude remove icedtea6-plugin 
sudo aptitude install sun-java6-plugin 

修復了這個問題。

+1

您能否將錯誤報告提交給[IcedTea](http://icedtea.classpath.org/bugzilla/)或[Ubuntu](https://bugs.launchpad.net/ubuntu/+source/openjdk -6 /),所以他們可以解決這個問題? – 2011-04-08 20:22:08

+0

發佈到Ubuntu: https://bugs.launchpad.net/ubuntu/+source/icedtea-web/+bug/755036 – 2011-04-08 21:02:45

+0

我在代碼中提供了一個在線示例:http://epaul.github.com/stackoverflow -examples/bugreport-examples/ubuntu-755036/example.html如果這給你一個問題,你可以試試嗎? (我在這裏沒有Ubuntu和Chrome,所以我現在無法測試它)。它在OpenSUSE/IcedTea/Firefox中工作,並在OpenSUSE/IcedTea/Opera中執行奇怪的事情(但不會崩潰)。如果它顯示錯誤,我會在那裏添加它。 – 2011-04-08 21:42:38