完成了applet之後就要開始寫JavaScript部分了。因為JavaScript也被瀏覽器解釋,所以可以方便地與applet進行互動。
// @author Zenny Chen
// First loaded javascript function for communication with the specified applet
function accessApplet()
...{
if(window.document.testApplet != null) ...{
var ip = window.location.href;
window.document.testApplet.setSocketURL(ip);
window.document.testApplet.setMayRun(true);
setTimeout("loopProcessApplet()", 1000);
}
}
function loopProcessApplet()
...{
processApplet();
setTimeout("loopProcessApplet()", 1000);
}
function processApplet()
...{
if(window.document.testApplet == null)
return;
var str = window.document.testApplet.getURLName();
if(str != "") ...{
window.document.testApplet.clearURLName();
var win = window.open(str,"","height=300,top=100,left=100,toolbar=no,menubar=no,status=no");
win.close();
}
}
// First loaded javascript function for communication with the two specified applets
function accessAppletDual()
...{
var ip = window.location.href;
if(window.document.testApplet != null) ...{
window.document.testApplet.setSocketURL(ip);
window.document.testApplet.setMayRun(true);
}
if(window.document.testApplet2 != null) ...{
window.document.testApplet2.setSocketURL(ip);
if(window.document.testApplet == null)
window.document.testApplet2.setMayRun(true);
}
if(window.document.testApplet == null && window.document.testApplet2 == null)
return;
setTimeout("loopProcessAppletDual()", 1000);
}
function loopProcessAppletDual()
...{
processAppletDual();
setTimeout("loopProcessAppletDual()", 1000);
}
function processAppletDual()
...{
if(window.document.testApplet != null) ...{
var str = window.document.testApplet.getURLName();
if(str != "") ...{
window.document.testApplet.clearURLName();
var win = window.open(str ,"","height=300,top=100,left=100,toolbar=no,menubar=no,status=no");
win.close();
}
}
if(window.document.testApplet2 != null) ...{
if(!window.document.testApplet2.GetIsOver()) ...{
if(window.document.testApplet == null)
window.document.testApplet2.setMayRun(true);
else
window.document.testApplet2.setMayRun(window.document.testApplet.GetIsOver());
}
var str = window.document.testApplet2.getURLName();
if(str != "") ...{
window.document.testApplet2.clearURLName();
var win = window.open(str ,"","height=300,top=100,left=100,toolbar=no,menubar=no,status=no");
win.close();
}
}
}
以上程式碼封裝括兩個部分,accessApplet() 、loopProcessApplet()和processApplet()用於在一個Web中控制一個applet。而後面含有Dual的則是一個頁面中含有兩個這樣的applet需要由JavaScript進行控制。