JSObject object (Java class)

A Java class that encapsulates JavaScript objects for access from Java code.

Availability:

JavaScript - 1.1
Netscape - 3.0
JavaScript syntax:NmyJSObject = netscape.javascript.JSObject
Class methods:getWindow()
Object methods:call(), eval(), getMember(), getSlot(), removeMember(), setMember(), setSlot(), toString()

This Java class is otherwise known as netscape.javascript.JSObject (to give it its full name within the Java context). This provides a way for Java code to interact fully with the JavaScript native environment.

JSObject is a sub-class of the generic Object class within Java. Its public interface defines the following methods and properties:

Note that these are hooks to Java methods although they may look like JavaScript methods.

When member properties and slot values are accessed from arrays, you get an Object object returned. If this object is really a JavaObject, then it will be unwrapped and the encapsulated Java object will be returned without its JavaScript wrapper. It will still be returned as an Object object but it can then be cast to a native Java object type rather than another JSObject.

The setMember() and setSlot() methods perform the converse although there are some subtle limitations.

Your Java development environment should give you plenty of help with the compilation of applets. The key point is that you have a copy of the netscape.javascript.JSObject class available for the applet to be linked against. This may involve setting your CLASSPATH to defined where the Java classes are located. The file you need may be browser version specific. In Netscape Navigator version 4.0, the file is called java40.jar but it may be named differently in other versions. Where it is located also may depend on how and where you installed Netscape.

See also:Java calling JavaScript, Java to JavaScript values, JavaScript embedded in Java, JavaScript to Java values, JSObject.call(), JSObject.eval(), JSObject.getMember(), JSObject.getSlot(), JSObject.getWindow(), JSObject.removeMember(), JSObject.setMember(), JSObject.setSlot(), JSObject.toString(), LiveConnect, MAYSCRIPT, netscape.javascript.JSObject

MethodJavaScriptJScriptNIEOperaNESECMADOMCSSHTMLNotes
call()1.1 1.1 n/a3.0 3.0 n/a n/a n/a n/a n/a n/a n/a-
eval()1.1 1.1 n/a3.0 3.0 n/a n/a n/a n/a n/a n/a n/a-
getMember()1.1 1.1 n/a3.0 3.0 n/a n/a n/a n/a n/a n/a n/a-
getSlot()1.1 1.1 n/a3.0 3.0 n/a n/a n/a n/a n/a n/a n/a-
removeMember()1.1 1.1 n/a3.0 3.0 n/a n/a n/a n/a n/a n/a n/a-
setMember()1.1 1.1 n/a3.0 3.0 n/a n/a n/a n/a n/a n/a n/a-
setSlot()1.1 1.1 n/a3.0 3.0 n/a n/a n/a n/a n/a n/a n/a-
toString()1.1 1.1 n/a3.0 3.0 n/a n/a n/a n/a n/a n/a n/a-

Cross-references:

O'Reilly JavaScript Definitive Guide - page - 8-570

Wrox Professional JavaScript - page - 544