优化Java Applet的加载过程

记忆有你enjoy

记忆有你enjoy

2016-02-19 16:28

下面图老师小编跟大家分享一个简单易学的优化Java Applet的加载过程教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

  大家知道,在java applet还没有全部加载的时候,IE或Netscape会在applet对应的区域显示一块灰色的区域。那,您有没有想过用其他的方式代替它呢?

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  本文介绍了如何利用JavaScript 实现在加载java applet时候显示一段消息,比如请稍候之类的话。该段代码可以在IE和Netscape运行。

  下面的代码就可以解决这个问题。

  

script language="JavaScript"
!-- Hide script from old browsers
 function init(){
  // Microsoft Internet Explorer
  if (document.all){
   document.all.loading.style.visibility="hidden";
   document.all.myapplet.style.visibility="visible";
   document.applets[0].repaint();
  }
  // Netscape Navigator
  else{
   document.loading.visibility="hide";
   document.myapplet.visibility="visible";
  }
 }
// --
/script
BODY onLoad="init()"
div id="loading" style="position:absolute;left:150;top:10;"
Please wait while Java applet loads...
/div
div id="myapplet" style="position:absolute;left:150;top:10;visibility:hidden"
applet code="charts.charts.class" archive="charts.jar" width="600" height="400" codebase="" VIEWASTEXT
Param name="xValue" value="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30"
Param name="yValue" value="22,21,19,23,18,24,28,30,27,22,20,18,16,18,19,16,17,14,12,
13,16,18,19,20,16,17,13,10,14,19,25"
/applet
/div
/BODY

  解释:

  首先,让我们来看看我们真正想做的是什么. 其实我们只不过希望把下载java程序过程中的不雅观的灰块去掉,以一些消息如正在载入,请稍候之类的画面盖住原来的灰色区域。而一旦java加载完毕,马上把该区域恢复为applet可见。

  上面的javascript代码就是实现了这个目的的一个实例。

  下面,让我来逐条解释一下我们是如何实现的。

  首先请看以下部分。

  

div id="loading" style="position:absolute;left:150;top:10;"
Please wait while Java applet loads...
/div
div id="myapplet" style="position:absolute;left:150;top:10;visibility:hidden"
applet code="charts.charts.class" archive="charts.jar" width="600" height="400" codebase="" VIEWASTEXT
Param name="xValue" value="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27,28,29,30"
Param name="yValue" value="22,21,19,23,18,24,28,30,27,22,20,18,16,18,19,16,17,14,12,
13,16,18,19,20,16,17,13,10,14,19,25"
/applet
/div

  正如您所见到的,我用了2个层,第一个层(id为loading)可以写上一些提示消息。而第2个层(id为myapplet)在一开始是不可见的。当applet下载好了,马上把第2个层显示出来,并把第一个层设为不可见。因此,只要这2个层大小,位置必须完全一致。就可以实现我们的目标。

  现在我们只差最后一个问题需要解决:如何知道applet已经完全下载了呢?在IE和netscape中都有提供document.all这个属性,当应页面的全部内容(包括applets,图片,声音等)已经下载后该属性为真。好,这样,我们只需监测document.all是否为真,如果是,那就可以把消息所在的层设为不可见,而applet所在的层设为可见,并刷新applet的显示(因为先前applet的显示被隐藏了),否则则相反处理。

  这是处理后的代码:

  

<script language="JavaScript">
 function init()
 {
  if (document.all)
  {
   document.all.loading.style.visibility="hidden";
   document.all.myapplet.style.visibility="visible";
   document.applets[0].repaint();
  }
  else
  {
   document.loading.visibility="hide";
   document.myapplet.visibility="visible";
  }
 }
</script>

  大功告成。其实,用这个办法同样适用于用含有图片盖住applet直到applet开始运行为止。如何处理,我想聪明的你一定已经知道答案了。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

优化Java Applet的加载过程

编程语言 网络编程
优化Java Applet的加载过程

Java Applet介绍

编程语言 网络编程
Java Applet介绍

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

慎防恶意的Java Applet

编程语言 网络编程
慎防恶意的Java Applet

JAVA卡与APPLET

编程语言 网络编程
JAVA卡与APPLET

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Java Applet的应用技巧

编程语言 网络编程
Java Applet的应用技巧

Java、Java Applet与 JavaScript间的通信

编程语言 网络编程
Java、Java Applet与 JavaScript间的通信

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

让 Eclipse 插件程序具有二维作图能力(1)

让 Eclipse 插件程序具有二维作图能力(1)

让Windows7重新支持文件夹中预览播放的技巧

让Windows7重新支持文件夹中预览播放的技巧
下拉加载更多内容 ↓