netscape.javascript.JSObject 方法
technology 2008-02-26 13:47:10 阅读385 评论0   字号:大中小 订阅
JSObject是用来在java类里面来操作脚本语言的,用于获取页面的数据或执行某些脚本语句,一般这个java类是一个applet
静态方法只有一个:getWindow();
JSObject win = Window(this); // 这里this就是指的这个applet类;
方法:
1.call();
Object[] obj = new Object[count]; // count为你向脚本中fire()函数所传递的参数个数,该fire函数不可以在某变量里申明,比如:var $ = { fire : function() { alert("ok"); } };
win.call("fire", obj); // 如果采用了变量里构造方法的话,写成 win.call("$.fire", obj); 是不能正常调用的;
// 在脚本中fire()函数接收该参数时,obj数组有多少个参数,参数列表就要有多少个参数来接收,比如有三个:js方法
function fire(para1, para2, para3) { }
2.eval();
// 该方法与在脚本中的作用一样,但是在applet中应用有个很好的地方,可以用它调用脚本函数而不用在类中逐级获得脚本对象再操作。逐级获得对象参见getMember()
String jsvalues = (String) win.eval("$.getValue()");
// 对应的脚本方法如下:
var $ = {
    getValue : function() {
        // code for get whatever you want, using DOM
      return values; // values可以是任意类型,在applet中获得时需要强制转换为你想要的;
  }
};
3.getMember();
JSObject win = Window(this);
JSObject document = (JSObject) Member("document");
JSObject form = (JSObject) Member("form"); // document参数以下都为document member's ID
JSObject file = (JSObject) Member("newfile"); // newfile为任意file域的ID
String value = (String) Member("value"); // value为该file域的属性;
// 这样是逐级获得控件域的属性(值),但是个人认为用eval()调用脚本函数比较快也很方
便,所有复杂的操作都交给DOM了;
4.getSlot();
Retrieves an indexed member of a JavaScript object .
public Object getSlot(int index)
// 采用index获得JSObjectmember对象或属性;
5.removeMember(); setMember(); setSlot();
// 这三个方法一起说了,官方描述很清楚了;
Removes a named member of a JavaScript object ;
Sets a named member of a JavaScript object ;
Sets an indexed member of a JavaScript object ;
6.toString();
Converts a JSObject to a string .
// 这个方法是将对象转换成一个string对象,跟javatoString()方法的效果一样。
 
Ok,写完了。个人感觉eval()方法是最酷的实现,哈哈。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。