完成了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进行控制。