代码之家  ›  专栏  ›  技术社区  ›  Lydon Ch

加载小程序时检测

  •  6
  • Lydon Ch  · 技术社区  · 14 年前

    如何在不使用浏览器/使用SETIMOUT的情况下检测Java Applet是否已成功加载?

    有什么事我可以约束的吗?

    问题是:弹出窗口询问用户是否信任小程序, 这需要几秒钟,直到用户单击“是”。 同时,我的代码无法执行,因为小程序尚未加载。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Damien    14 年前

    你是说javascript? 你可以问小程序。让它在in it()中将布尔值设置为true,并在调用的方法中返回此值…哦,等等,你写了“不用设置超时”。好吧,在这种情况下,我猜您必须换一种方式,让小程序调用一个javascript方法(例如jsObject.getWindow(this);)…但我认为这比在加载小程序之前使用计时器更困难/更容易出错。

        2
  •  0
  •   Peter    11 年前

    我知道这个问题很老,但我更喜欢这样做,因为Java加载屏幕很难实现,并且用SPIN。js设置一个全屏幕div,就是告诉applet调用JavaScript函数,当Java的In()函数隐藏了加载DIV时,JavaScript函数隐藏了加载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) { }
        }
      }
    

    这将调用页面的appletary()函数,无论它是从另一个JS文件链接的,还是直接在HTML中编写脚本的,只要applet本身运行。因此,不必无限期地轮询applet,只需在函数就绪时运行它。