JSObject.call() Java MethodName
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<br /> {<br /> JSObject win = JSObject.getWindow(applet);<br /> Object ret = win.call("isPreSchedule", null);<br /> if(ret != null){<br /> this.VIEW_WIDTH = 630;<br /> }else{<br /> this.VIEW_WIDTH = 800;<br /> }<br /> }<br /> catch (JSException e)<br /> {<br /> JOptionPane.showMessageDialog(null, e.getMessage());<br /> e.printStackTrace();<br /> }
其中isPreSchedule為JS檔案裡定義的isPreSchedule函數,或者JSP頁面的SCRIPT裡定義的JS函數:
function isPreSchedule(){//to resize applet for double<br /> var isCore = 99;<br /> return isCore;<br /> }