延迟Java初始化直到需要

4

我有一个网页,有时候需要与设备通信。

这个设备是通过sockets访问的,所以我有一个带有支持库的jar文件。

当你想要从设备获取数据时,你按下一个按钮,一个javascript方法使用该库获取数据(没有java代码)

jar文件的存在使得Java机器在加载页面时就开始运行。

由于有很多用户不使用此选项(通常他们甚至没有设备),他们认为这是个麻烦。

是否有可能延迟Java加载直到按钮被按下?

我不想将它们重定向到另一个页面,应该在同一页面中完成。


5
你可以从初始的HTML中删除你的appletobject标签,而是在按钮的onclick期间将它们附加到DOM。 - FThompson
1
这个评论比唯一的答案更好... - le3th4x0rbot
2个回答

4
您可以通过JavaScript动态地创建一个单独的div,将jar文件加载到其中,在需要的时候使用。

用这种方式,在动态div的onload中运行我的javascript代码可以吗?或者我应该添加一些延迟以允许Java启动 - 在jar加载和库可用之间? - vals
不是的,我在想使用罐子创建动态 div 并立即使用可能会给我带来问题。 - vals
坦白地说,我不知道。如果您的jar需要从动态div中加载的js数据,它们之间应该进行握手(js和java)。因此,在<applet...之前编写动态div内容中的js函数。然后,如果您想确保,可以使您的Java代码在加载时查找并调用js函数。 - Volkan
有时候生活比我们想象的更容易。它可以完美地运行,无需等待加载或类似的操作。谢谢! - vals

0
如果您想考虑使用Java Web Start技术加载应用程序,您可以实现一个类似于Oracle页面这里上的按钮。
基本上,该按钮所做的是下载在jnlp文件中指定的所需JAR文件并启动它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接