将数据从Applet发送到JavaScript的最简单方法是什么?

时间:2011-04-27 20:51:19

标签: java php javascript applet

我有一个带有applet的HTML页面,该applet收集数据然后应该通过JavaScript调用发送这些数据,JS将其发送到PHP文件。

我可以通过GET方法发送参数和值,但还有更好的东西吗? 我可以在这个小程序中使用JSON吗?如何将其发送到JavaScript?

小程序不应该签名,所以我不能添加任何花哨的东西或者我可以吗?

感谢任何提示/指示。

修改
我应该用其他一些词来形容:“从JApplet向JavaScript发送数据(> 2kb)最通用的方式是什么?”我希望它能在尽可能多的浏览器上运行(我知道有些人甚至没有安装java)。

3 个答案:

答案 0 :(得分:4)

  

将数据从Java JApplet发送到Javascript的最简单方法是什么?

可能这个:

applet.getAppletContext().showDocument
    (new URL("javascript:someJavaScriptFunction(" + params + ");"));

我最近在Call Javascript from a Java applet下的Real's How To中看到了这种技术。该站点始终是我检查Java / JS交互任务的第一个地方。除了这种技术之外,其他传递数据的方法Java< - > JavaScript都是详细的,并且(大部分)都是如此。

我刚发布了一个'简单'的方式。

答案 1 :(得分:3)

您可以调用javascript函数,并且通常通过netscape.javascript.JSObject与javascript通信。 See here。一个例子:

JSObject win = JSObject.getWindow(this);
win.call("receiveDataFromApplet", new Object[] {param1, param2, param3});

这将使用给定的参数调用所需的函数。

JSObjectJRE/plugin.jar的一部分,因此它将在每个JRE上运行。但是您必须将它添加到类路径(在IDE中)才能编译小程序。

答案 2 :(得分:1)

从JRE 1.6.27及更高版本的IE 6+开始(不知道它是否只是IE)每次通过getAppletContext方法执行函数时都会获得焦点。如果你不想要这个,你最好使用JSObject。