如何检测Java applet是否已成功加载,而不需要轮询浏览器或使用setTimeout?
有没有可以绑定的事件?
问题是:弹出一个窗口,询问用户是否信任该applet,这需要几秒钟时间,直到用户点击“是”,同时我的代码因为applet尚未加载而无法执行。
如何检测Java applet是否已成功加载,而不需要轮询浏览器或使用setTimeout?
有没有可以绑定的事件?
问题是:弹出一个窗口,询问用户是否信任该applet,这需要几秒钟时间,直到用户点击“是”,同时我的代码因为applet尚未加载而无法执行。
我知道这个问题很旧了,但我偏爱的方法是这样做的,因为Java加载屏幕实现起来相当困难,而使用spin.js设置一个全屏div则不然。我的方法是让applet调用一个JavaScript函数,在java applet的init()函数运行时隐藏加载div。
从Java调用JavaScript函数非常简单:
import java.net.*;
public void init() {
if (!isJava5OrSuperior()) {
showError(getLocalizedString("requirementsMessage"));
} else {
createAppletApplication();
try {
getAppletContext().showDocument
(new URL("javascript:appletReady()"));
}
catch (MalformedURLException me) { }
}
}
这将在Applet本身运行时调用您页面的appletReady()函数,无论它是从另一个JS文件链接还是直接在HTML中脚本化。因此,您只需在准备就绪时运行该函数,而不是无限期地轮询您的Applet。