【问题标题】:How To Show Progress Bar When The Java Applet Load On Web Browser如何在 Web 浏览器上加载 Java Applet 时显示进度条
【发布时间】:2014-10-04 19:57:43
【问题描述】:
我有一个运行小程序的 Jar 文件。这个 Jar 文件由 www 目录中的 Call_Applet_Jar.html 文件调用。 Call_Applet_Jar.html 文件有一个 javascript 和 html 代码。 Jar 文件由 Call_Applet_Jar.html 中的 html 代码调用。小程序在浏览器上打开得太晚。例如,小程序使用 unix os 的浏览器在 5 秒内打开,尽管如此,小程序使用 windows os 的浏览器在 15 秒内打开。即applet 在unix 的浏览器上运行很快,但在windows 的浏览器上却不能快速运行。所以我想在小程序加载时显示进度条。但我不明白小程序何时可以在浏览器上完全运行。即我必须知道加载时间的起点和终点才能添加进度条。如何理解小程序在使用 Javascript 或 HTML 的浏览器上完全运行的时间。当小程序在 Web 浏览器上完全可操作时,进度条必须消失。我怎么知道这个时间用 javascript 或 html 吗?知道吗?提前谢谢..
【问题讨论】:
标签:
javascript
html
jar
applet
progress-bar
【解决方案2】:
java applet 在浏览器上完全加载时,您无法知道使用 javascript 或 html。在浏览器上加载小程序。
1--> JVM should runned.
2-->The jar should downloaded and ran.
3-->The ready() method should access to page
所有这些都不能被 javascript 或 html 理解。当小程序在浏览器上完全加载时,您必须从 Java 小程序调用 javascript 函数。即 java 小程序应该通知 javascript 端。通过这种方式,您可以了解小程序已完全加载到浏览器上。示例代码如下。
package example_package;
import netscape.javascript.*;
public class Example_Applet_Class extends Applet {
public void start() {
try {
JSObject calling_object = JSObject.getWindow(this);
//to call javascript method when the applet is loaded on browser completely..
String passing_argument = "applet jar is downloaded";
calling_object.call("javascript_function" , new Object[] {passing_argument});
//or you can set the javascript object when applet is loaded on browser completely..
String assign_value_js_object = "loaded";
calling_object.setMember("js_object",assign_value_js_object);
} catch (JSException jse) {
jse.printStackTrace();
}
///**//Javascript Side//**///
<head>
<title>JavaScript Side</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<script language="javascript">
var js_object= "";
if(js_object == "loaded")
{
//The code which should ran when the applet is loaded completely on browsers.
}
//Called from java Applet
function javascript_function(argument_came_from_java_applet)
{
//The code which should ran when the applet is loaded completely on browsers.
}
</script>
</head>
<body>
...
</body>