firebug の拡張機能を開発しようとしています。この拡張機能で Java メソッドを呼び出したいのですが、html がないため、applet-html ソリューションを使用できません。
これが私のJavaアプレットです:
import java.applet.Applet;
import javax.swing.JOptionPane;
public class MyApplet extends Applet {
public void init() {
super.init();
System.out.println("init something");
}
public String jsCall(String hello) {
System.out.println("this method is called by a js function and say :"
+ hello);
Thread t = new Thread(new Runnable(){
public void run(){
JOptionPane jop1 = new JOptionPane();
jop1.showMessageDialog(null, "Message informatif", "Information", JOptionPane.INFORMATION_MESSAGE);
}
});
t.start();
return "lala";
}
}
私はこれを試します:
var applet = document.createElement("applet");
applet.setAttribute("code","file:///home/dacostam/z_test/firebug-extension-examples-0bdcf15/helloamd@janodvarko.cz/chrome/content/MyApplet.class");
applet.setAttribute("id","javaToJavascriptApplet");
applet.setAttribute("mayscript","true");
applet.jsCall("HelloWorld"); //jsCall not a function
この:
var dom = document.implementation.createDocument('http://www.w3.org/1999/xhtml', 'html', null);
dom.appendChild(applet);
dom.javaToJavascriptApplet.jsCall("HelloWorld"); //jsCall not a function
ドキュメントは通常とは異なり、本文や html はありません。
applet-html ソリューションの代わりに javascript で Java を呼び出す別の方法はありますか? または、この方法でそれを行う方法はありますか?
さらに情報が必要な場合は、ここにいます。
ありがとう。
編集:
プログラムが何をするかを説明するのは長すぎるでしょう。それは必然的に Java にあることに注意してください。パラメータ文字列を受け取って文字列を返すか、最終的には無効になるメソッドを呼び出す必要があるだけです。
編集2:
申し訳ありませんが、Java はクライアント上で実行する必要があります。