JSObject.call()--Applet与Javascript通讯

JSObject.call() Java Method

Name

JSObject.call() Java Method---invoke a method of a JavaScript object

Availability

Part of the netscape.javascript package included with Navigator 3.0

Synopsis

 

public Object call(String methodName, Object args[])

Arguments

methodName

The name of the JavaScript method to be invoked.

 

args[]

An array of Java object to be passed as arguments to the method.

Returns

A Java Object that represents the return value of the JavaScript method.

Description

The call() method of the Java JSObject class invokes a named method of the JavaScript object represented by the JSObject. Arguments are passed to the method as an array of Java objects, and the return value of the JavaScript method is returned as a Java object. Chapter 19, LiveConnect: JavaScript and Java describes the data conversion performed to convert the method arguments from Java objects to JavaScript values and to convert the method return value from a JavaScript value to a Java object.

 

 

EG:前台获得参数,来改变panel的宽度,其中宽度在panel类里定义为全局变量。若前台设置JS参数为99或不为空,则改变size为630,否则为800.

Applet里面,你可以这样设置代码:

try { JSObject win = JSObject.getWindow(applet); Object ret = win.call("isPreSchedule", null); if(ret != null){ this.VIEW_WIDTH = 630; }else{ this.VIEW_WIDTH = 800; } } catch (JSException e) { JOptionPane.showMessageDialog(null, e.getMessage()); e.printStackTrace(); }

 其中isPreSchedule为JS文件里定义的isPreSchedule函数,或者JSP页面的SCRIPT里定义的JS函数:

function isPreSchedule(){//to resize applet for double var isCore = 99; return isCore; }

你可能感兴趣的:(JavaScript)