我有一个带有applet的HTML页面,该applet收集数据然后应该通过JavaScript调用发送这些数据,JS将其发送到PHP文件。
我可以通过GET方法发送参数和值,但还有更好的东西吗? 我可以在这个小程序中使用JSON吗?如何将其发送到JavaScript?
小程序不应该签名,所以我不能添加任何花哨的东西或者我可以吗?
感谢任何提示/指示。
修改
我应该用其他一些词来形容:“从JApplet向JavaScript发送数据(> 2kb)最通用的方式是什么?”我希望它能在尽可能多的浏览器上运行(我知道有些人甚至没有安装java)。
答案 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});
这将使用给定的参数调用所需的函数。
JSObject
是JRE/plugin.jar
的一部分,因此它将在每个JRE上运行。但是您必须将它添加到类路径(在IDE中)才能编译小程序。
答案 2 :(得分:1)
从JRE 1.6.27及更高版本的IE 6+开始(不知道它是否只是IE)每次通过getAppletContext方法执行函数时都会获得焦点。如果你不想要这个,你最好使用JSObject。