在具有applet描述符的jnlp中和在javascript中,投票投票applet的下载进度

||| 我有一个使用deployJava脚本进行部署的WebStart小程序。 jnlp文件如下所示:
<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>
<jnlp codebase=\"\" href=\"launch.jnlp\" spec=\"1.0+\">
    <information>
        <title>someApp</title>
        <vendor>someCompany</vendor>
        <homepage href=\"http://www.someCompanysWebsite.net\"/>
        <description>someDescription</description>
        <description kind=\"short\">someShortDescription</description>
    <offline-allowed/>
    </information>
<update check=\"background\"/>
<security>
<all-permissions/>
</security>
    <resources>
<j2se version=\"1.5+\"/>
<jar href=\"mainJar.jar\" main=\"true\"/>


<jar href=\"lib1.jar\"/>
<jar href=\"lib2.jar\"/>
<jar href=\"lib3.jar\"/>
<jar href=\"platform.jar\"/>
<jar href=\"plugin.jar\"/>
<jar href=\"slf4j-api-1.6.1.jar\"/>
<jar href=\"slf4j-simple-1.6.1.jar\"/>
</resources>
    <applet-desc height=\"1\" main-class=\"com.companyName.applet.appletClass\" name=\"appletName\" width=\"1\">

    </applet-desc>
</jnlp>
如您所见,我的applet大小为1x1,所以我不想显示任何内容。它只是用来向javascript公开一些Java方法。因此,例如,如果我进行JavaScript调用
//javascript code
var applet = document.getElementById(\'appletName\');
我得到了applet的有效句柄,并且可以像这样在javascript中调用其方法:
 //javascript code
    applet.doStuff();
当然,每个小程序都定义了isActive()方法,因此在我的JavaScript代码中,我可以像这样检查小程序是否已完全加载:
    //javascript code
    function isFullyLoaded()
    {
      if ( !applet.isActive() ){
         setTimeout(\'isFullyLoaded()\',1000);
      }
      else 
      {
         //do nice stuff requiring the applet is loaded
      }
    }
但是,由于可能需要一段时间来加载该applet,因此我希望对其加载有一个进度指示。快速浏览一下Sun(或者Oracle,如果您愿意的话)显示以下内容: http://download.oracle.com/javase/tutorial/deployment/applet/customProgressIndicatorForApplet.html 但是,这意味着我要在加载applet时显示加载栏或其他内容。我不喜欢applet的外观,这就是为什么我只想用JavaScript轮询applet加载的原因,就像在一定间隔上那样:
//javascript code
alert(applet.getLoadingProgress());
我应该怎么做,应该更改jnlp声明或类似的内容。任何指针或意见,将不胜感激。请注意,我不需要自定义进度栏,而只需要一个结构,这样我就可以在加载过程中使用javascript轮询进度。 干杯。 编辑: @amol 我将提请您注意,JNLP部署了applet和应用程序,在其加载期间,调用了通用DownloadServiceListener类的方法progress(java.net.URL url,java.lang.String版本,long readSoFar,long total,int totalPercent ),只要下载了其中一个罐子即可。了解jar的总数和尚未下载的jar数将是一个完美的进度指示。我还想提醒您注意,如果您调试JNLP部署,您将看到这些方法被调用并将其记录为网络级事件。因此,我的问题是如何使用javascript掌握这些方法,以便我可以对进度进行一些估算,因为我不希望用户查看java控制台来估算进度。我也不想展示一个不确定的进度加载器,因为实现它很容易,但是没有任何实际用途。     
已邀请:
我不确定如何进行轮询,但是我过去用来实现您所描述的方法如下: 加载小程序时(以我为例 我通常将相关的html插入 单击按钮后的DOM或 东西),显示您的 javascript / html特定加载 指示符。 加载小程序时,它会回调一个 javascript方法。 JS现在知道该applet已完全加载,删除了加载指示器并进行了进一步的JS-> applet通信,等等。 (使用这种方法无法显示确定的进度条。但是很可能会掩盖整个html正文的通用加载指示器或不确定的进度条,并且很容易实现)     
在您发布的Oracle网站上的文档中(http://download.oracle.com/javase/tutorial/deployment/applet/customProgressIndicatorForApplet.html),该applet调用下面的函数以指示其进度,然后更新该Applet UI和进度条。
public void progress(URL url, String version, long readSoFar,
                 long total, int overallPercent) {        
  // check progress of download and update display
  updateProgressUI(overallPercent);

}
我相信,您可以简单地用对Javascript函数的调用来代替对
updateProgressUI(overallPercent)
的调用,该Javascript函数会更新网页中的进度指示器。 测试一下,让我们知道是否可能。     
  我不喜欢小程序的外观.. 使用\'image \'属性对其进行更改。     

要回复问题请先登录注册