JSObject.call()–Applet與Javascript通訊

來源:互聯網
上載者:User
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 /> }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.