用jaws.jar._method是applet中的方法; jsmethod是javascript中的方法,你直接写在页面中就可以了.import netscape.javascript.*; public class MyApplet extends java.applet.Applet{ ... private JSObject mainwin; ... //get a handle to the document object mainwin = JSObject.getWindow(this); public void _method() { mainwin.eval("javascript:jsmethod()"); } }
jsmethod是javascript中的方法,你直接写在页面中就可以了.import netscape.javascript.*;
public class MyApplet extends java.applet.Applet{
...
private JSObject mainwin;
...
//get a handle to the document object
mainwin = JSObject.getWindow(this); public void _method()
{
mainwin.eval("javascript:jsmethod()");
}
}
现在再学已经来不及了,请大家讲的稍微详细些。谢谢!!
import netscape.javascript.JSObject;
创建一个对applet所在运行容器(就是你的IE啦)的关联
JSObject window = JSObject.getWindow(this);
在 applet 中可用
window.call("functionname");
就可以调用applet所在的web页面中的javascript函数。
比如
windows.call("window.location.href=\"http://www.sina.com.cn\");
windows.call("window.history.back(-1)");//返回上一页
windows.call("window.history.close()");//关闭当前窗口,不过只要不是被父窗口关闭,都会有安全提示而你也可以调用一个function,并传递数量不等的参数
String strServerMessage = "欢迎加入聊天室!";
window.call("OnServerMessage",strServerMessage);
这一句是调用web中我自己写的javascript函数 OnServerMessage,参数为 strServerMessage。
该javascript函数内容为:
function OnServerMessage(strMessage)
{
alert("Server:" + strMessage);
//chatMain.document.write("<p class='servermsg'>[Server]" + strMessage</p>);
}
多几个参数的例子如:
JSObject window = JSObject.getWindow(this);//当前窗口
String[] KickMessage = {"","","",""};
KickMessage[0] = superUser ;
KickMessage[1] = userName ;
KickMessage[2] = channelName ;
KickMessage[3] = FilteHTML(becauseOf.substring(1)) ;
window.call("OnKick",KickMessage );//调用外部页面的 OnKick 函数,其用来提示用户 username 被 superUser 以原因 becauseOf 从 channelName 踢了出去等...而用 window.eval("expresstion"),则是执行javascript表达式,返回一个结果,如
String result = window.eval("3 + 2");