Java 小程序在调用 javascript 函数时使 ubuntu 上的 chrome java 崩溃

标签 java javascript google-chrome applet

在 ubuntu 上使用 chrome,有基本的 java applet 和 javascript 交互。 javascript 到 java 运行良好,但是当我尝试让 java 触发 javascript 方法时,chrome java 插件崩溃了。这一切在 Fire Fox 中都运行良好。

错误:

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);
}    

最佳答案

问题看起来是 OpenJDK 的问题。

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

解决了问题。

关于Java 小程序在调用 javascript 函数时使 ubuntu 上的 chrome java 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5599906/

相关文章:

java - Google 身份验证服务迁移 - 如何确保该过程成功完成?

java - 在测试期间指定 Manifest.MF - Fat/Shaded JAR

java - 使用 BufferedReader 对多维数组中的行进行计数

javascript - 一个恶意链接仍然反射(reflect)在网站上

java - 如何暂停 Android 应用程序的自动滚动?

javascript - 准备数组以便在闭包中进行排序

javascript - Javascript 中的 Ruby 代码

javascript - 将数据(选项卡)从background.js传递到popup.js

javascript - Html 5 文件系统 API,我收到 DOMError "NotSupporteError"

javascript - 当双击广告位于 Flash 中时,自定义滚动无法在 Chrome Mac 上正常工作