大家知道
在java applet還沒有全部加載的時候
IE或Netscape會在applet對應的區域顯示一塊灰色的區域
那
您有沒有想過用其他的方式代替它呢?
本文介紹了如何利用JavaScript 實現在加載java applet時候顯示一段消息
比如請稍候之類的話
該段代碼可以在IE和Netscape運行
下面的代碼就可以解決這個問題
<html>
<head>
<title>Your Title Here</title>
</head>
<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[
]
repaint();
}
// Netscape Navigator
else
{
document
loading
visibility=
hide
;
document
myapplet
visibility=
visible
;
}
}
//
>
</script>
<style type=
text/css
>
#loading {
position:absolute;
left:
;
top:
;
}
#myapplet {
position:absolute;
left:
;
top:
;
visibility:hide;
}
</style>
<body onLoad=
init()
>
<div id=
loading
>
<p>Please wait while Java applet loads
</p>
</div>
<div id=
myapplet
>
<applet archive=
app
jar
code=
app
class
align=
baseline
width=
height=
>
<p>Requires a browser that supports Java
</p>
</applet>
</div>
</body>
</html>
解釋
首先
讓我們來看看我們真正想做的是什麼
其實我們只不過希望把下載java程序過程中的不雅觀的灰塊去掉
以一些消息如正在載入
請稍候之類的畫面蓋住原來的灰色區域
而一旦java加載完畢
馬上把該區域恢復為applet可見
上面的javascript代碼就是實現了這個目的的一個實例
下面
讓我來逐條解釋一下我們是如何實現的
首先請看以下部分
<div id=
loading
>
<p>Please wait while Java applet loads
</p>
</div>
<div id=
myapplet
>
<applet archive=
app
jar
code=
app
class
align=
baseline
width=
height=
>
<p>Requires a browser that supports Java
</p>
</applet>
</div>
正如您所見到的
我用了
個層
第一個層(id為loading)可以寫上一些提示消息
而第
個層(id為myapplet)在一開始是不可見的
當applet下載好了
馬上把第
個層顯示出來
並把第一個層設為不可見
因此
只要這
個層大小
位置必須完全一致
就可以實現我們的目標
下面是對不同的層的屬性描述代碼
<style type=
text/css
>
#loading {
position:absolute;
left:
;
top:
;
}
#myapplet {
position:absolute;
left:
;
top:
;
visibility:hide;
}
</style>
好
現在我們只差最後一個問題需要解決
如何知道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[
]
repaint();
}
else
{
document
loading
visibility=
hide
;
document
myapplet
visibility=
visible
;
}
}
</script>
大功告成
其實
用這個辦法同樣適用於用含有圖片蓋住applet直到applet開始運行為止
如何處理
我想聰明的你一定已經知道答案了
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26997.html