[转]JavaScript创建Applet 标签的属性介绍 以及 Applet调用JavaScript

Html嵌入Applet

标签的属性介绍
属性     含义
Width     Applet在Html页面上的宽度
Height     Applet在Html页面上的高度
Name     Applet在Html页面上的名称,用于区名一个Html页面上的多个Applet
Code     Applet类名,必须带后缀”class”当没有属性archive时,直接写类名当有属性archive时,必须带包名
Codebase     Applet的类相对路径,相对于Html页面位置
Archive     Applet所在Jar包的文件名
标签< PARAM>的属性介绍
属性     含义
Name     Applet传入的参数名
Value     Applet传入的参数值
当Applet 为一个Class类文件嵌入的写法
属性Code    ==========Applet类名,必须带后缀名
属性CodeBase    ---------------Class类文件相对于Html页面的相对路径
Applet为一个JAR包,嵌入Html的写法
属性Code      ==========Applet类名,包括包名
属性CodeBase     ----------------Applet JAR包相对于Html页面的相对路径
属性Archive -----------------------Applet Jar包文件名

 

MAYSCRIPT属性的意义

即使applet使用JSObject调用JavaScript函数,或者直接访问文档对象模型,如果applet标签没有包含在MAYSCRIPT属性中的话JSObject的方法就会失败。这一点能使网页设计者测定一个applet是否能唤起JavaScript。

JSObject

引用JSObject类成员函数的简短描述是为了更好的理解这个类的用途。

public static JSObject getWindow (Applet applet )

这个静态方法对含有给出的applet窗口返回一个JSObject。例如:JSObject MainWindow = JSObject.getWindow ( this );

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

这个函数从Java applet内部调用一个JavaScript方法。例如:

JSObject MainWindow = JSObject.getWindow ( this );
String Arguments[ ] = {"90", "2"};       // {"Percent complete", "Time remaining"}
MainWindow.call ( "UpdateProgressIndicator", Arguments );

public Object eval ( String s )

这个方法求一个JavaScript表达式的值。表达式是这个对象上下文中待求的JavaScript源代码的一个字符串。例如:

JSObject MainWindow = JSObject.getWindow ( this );
JSObject UserName = MainWin.eval ( "document.UserInfoForm.UserName" );public Object getMember ( String name )这个方法检索JavaScript对象的一个索引成员,等价于JavaScript对象的this.name。:JSObject MainWindow = JSObject.getWindow ( this );
JSObject DocumentPage = (JSObject)MainWindow.getMember ( "document" );
JSObject UserInfoForm = (JSObject) DocumentPage.getMember ( "UserInfoForm" );
JSObject UserName = (JSObject) UserInfoForm.getMember ( "UserName" );public Object getSlot ( int index)这个方法检索JavaScript对象的一个索引成员,等价于JavaScript对象的this [index]。例如:JSObject MainWindow = JSObject.getWindow ( this );
JSObject DocumentPage = (JSObject)MainWindow.getMember ( "document" );
JSObject Applets = (JSObject) DocumentPage.getMember ( "applets" );
Object theApplet = Applets.getSlot ( index );public void removeMember ( String name )这个方法删除一个JAVASCRIPT对象的指定成员。public void setMember ( String name, Object value )这个方法设置一个JAVASCRIPT对象的指定成员。它等价于JavaScript对象的this.name = value。例如:JSObject MainWin = JSObject.getWindow ( this );
JSObject DocumentPage = (JSObject) MainWin.getMember ( "document" );
JSObject UserInfoForm = (JSObject) DocumentPage.getMember ( "UserInfoForm" );
JSObject UserName = (JSObject) UserInfoForm.getMember ( "UserName" );
UserName.setMember ( "value", "Jeremiah S. Talkar" );public void setSlot ( int index, Object value )这个方法设置一个JAVASCRIPT对象的索引成员。它等价于JavaScript对象的this[index] = value。

public String toString ()

这个方法将JSObject转换成一个字符串。

上面的例子是很清楚的。JSObject类的公共方法试图在JavaApplet中调用JavaScript函数时是不受限制的。他们也可以使一个applet直接处理文档对象模型元素。

这些类完整的文档可以在http://developer.netscape.com/docs/manuals/communicator/jsref/pkg.htm上得到。

文档也解释了怎样在Java和JavaScript间处理数据类型。

**********************************

JavaScript与Applet之间的通信

http://quicker.javaeye.com/category/93278?show_full=true

posted on 2012-11-14 16:07  紫金树下  阅读(378)  评论(0编辑  收藏  举报