This document explains the OBJECT tag and EMBED tag styles required in Oracle JInitiator. It is intended for those who want to manually insert Oracle JInitiator tags in their HTML pages. There is also a Java Plug-in HTML Converter available free-of-charge from JavaSoft that automatically does this for you. To use the Java Plug-in HTML Converter alongside Oracle JInitiator, users merely need to change the template files that come with the HTML Converter, so that it uses the Oracle-specific MIME types and ActiveX class IDs. These Oracle-specific values can be found below in this document.
Information in this specification has been tested on various platforms. However, this specification is always under development and information presented here may change in the near future.
Please note that the URLs used in this document are merely examples. They may need to be modified to reflect your intranet configuration, particularly with respect to where you place the Oracle JInitiator installer for downloading.
Applets are in wide use today in the Internet. They are normally specified in a HTML file as follows:
<APPLET code="XYZApp.class" codebase="html/" align="baseline"
width="200" height="200">
<PARAM NAME="model" VALUE="models/HyaluronicAcid.xyz">
No JDK 1.3 support for APPLET!!
</APPLET>
Normally, an APPLET tag specifies the information about the applet and the <PARAM> tags between the <APPLET> and </APPLET> tag store the per-instance applet information.
Because an APPLET tag is rendered by the browser, there is no easy way to interrupt the browser and use Oracle's JVM to run the applet. Instead, to use Oracle JInitiator, you must use the Oracle JInitiator tag in place of the APPLET tag in a HTML page.
To use Oracle JInitiator in Internet Explorer, use the OBJECT tag. The following is an example of mapping an APPLET tag to an Oracle JInitiator tag:
<APPLET code="XYZApp.class" codebase="html/" align="baseline"
width="200" height="200">
<PARAM NAME="model" VALUE="models/HyaluronicAcid.xyz">
No JDK 1.3 support for APPLET!!
</APPLET>
<OBJECT classid="clsid:CAFECAFE-0013-0001-0017-ABCDEFABCDEF"
width="200" height="200" align="baseline"
codebase="http://www.acme.com/jinit13117.exe#Version=1.3.1.17">
<PARAM NAME="code" VALUE="XYZApp.class">
<PARAM NAME="codebase" VALUE="html/">
<PARAM NAME="type" VALUE="application/x-jinit-applet;version=1.3.1.17">
<PARAM NAME="model" VALUE="models/HyaluronicAcid.xyz">
No JDK 1.3 support for APPLET!!
</OBJECT>
Notice that the OBJECT tag contains similar information to the APPLET tag, and it is sufficient to launch Oracle JInitiator in Internet Explorer. The classid in the OBJECT tag is the class identifier for Oracle JInitiator itself. This class identifier should be the same in every HTML page. When Internet Explorer renders this class identifier in the OBJECT tag, it will try to load Oracle JInitiator into the browser. There are several attributes in the OBJECT tag, such as width, height and align, that are mapped directly from the corresponding attributes in the APPLET tag. These contain formatting information that Internet Explorer will use to position Oracle JInitiator. Since this information is mapped directly without changes, the position and appearance of the applets using Oracle JInitiator should be the same as those applets using the APPLET tag.
Not all attributes in the APPLET tag can be mapped to the OBJECT tag attributes. For example, the attributes code and codebase in the APPLET tag are not mapped into the OBJECT tag attribute. Instead, the attribute code is mapped into the PARAM code because, according to the HTML specification, the attribute code does not exist in the OBJECT tag. There are other attributes that do not have a correspondence in the OBJECT tag attributes. These attributes, with one exception, should be mapped to the PARAM tag. The one exception is the codebase attribute. In the APPLET tag, the codebase attribute represents the location from which to download additional class and jar files. However, in the OBJECT tag, the codebase attribute represents the location from which to download Oracle JInitiator when it is not found in the local machine. Because the codebase attribute has two different meanings in the APPLET and OBJECT tags, you must resolve this conflict by mapping this attribute into a PARAMcodebase in the OBJECT tag.
In the above example, the code and codebase attributes in the APPLET tag are mapped into the OBJECT tag params. PARAM code identifies the applet, and its value should be the same as the code attribute in the APPLET tag. PARAM codebase identifies the codebase of the applet. Oracle JInitiator knows where to download the applet or Beans because it can read this information from the parameters. The param type is not mapped from the APPLET tag, but it is required in the OBJECT tag. It identifies the type of the Java executable, such as an applet or a Bean, so Oracle JInitiator knows how to initialize the Java executable. These three PARAM tags (code, codebase, and type) in the above example are specified by Oracle JInitiator, and they do not exist in the PARAM of the original APPLET tag. Notice that the model param within the OBJECT tag is identical to the model param inside the APPLET tag. Except for these first three params specified for Oracle JInitiator, the remainder of the params are the same as those inside the APPLET tag. The text "No JDK 1.3 support for APPLET!!" in the APPLET tag is mapped inside the <OBJECT> and </OBJECT> tags. Originally, this text is displayed only if the browser does not have Java support. By mapping it inside the OBJECT tag, this text will displayed if the browser does not support the OBJECT tag.
Attributes |
APPLET tag support |
OBJECT tag support |
Attribute map in OBJECT tag |
ALIGN
|
X
|
X
|
Attribute ALIGN
|
ALT
|
X
|
|
|
ARCHIVE
|
X
|
|
Param archive
|
CODE
|
X
|
X
|
Param code
|
CODEBASE
|
X
|
X
|
Param codebase
|
DOWNLOAD
|
X
|
|
Param download
|
HEIGHT
|
X
|
X
|
Attribute HEIGHT
|
HSPACE
|
X
|
X
|
Attribute HSPACE
|
NAME
|
X
|
X
|
Attribute NAME, Param NAME
|
OBJECT
|
X
|
|
Param object
|
TITLE
|
X
|
X
|
Attribute TITLE
|
VSPACE
|
X
|
X
|
Attribute VSPACE
|
WIDTH
|
X
|
X
|
Attribute WIDTH
|
|
Meaning in OBJECT tag |
Attribute CLSID | It should always have the same value. i.e. "clsid:CAFECAFE-0013-0001-0017-ABCDEFABCDEF". |
Attribute CODEBASE | It should be a full URL point to a .exe file somewhere on the network. |
Param type | If it is a Java applet, the value should be "application/x-jinit-applet;version=1.3.1.17". If it is a JavaBeans, the value should be "application/x-jinit-bean;version=1.3.1.17". |
Param codebase | Specifies the base URL of the applet. Relative URL to the document should be used. This attribute is optional. |
Param code | Specifies the name of the Java applet or JavaBeans. It cannot be used with param object inside the same OBJECT tag. |
Param object | Specifies the name of the serialized Java applet or JavaBeans. It cannot be used with param code inside the same OBJECT tag. This attribute is optional. |
Param archive | Specifies the name of the Java archive. This attribute is optional. |
If the original APPLET tag has PARAM type, codebase, code, object or archive, mapping it to the OBJECT tag will cause a problem because duplicate param names will occur. Thus, Oracle JInitiator also supports another set of param names, as follows:
Original Param Names |
New Param Names |
code |
java_code |
codebase |
java_codebase |
archive |
java_archive |
object |
java_object |
type |
java_type |
You should use these new param names only when necessary. In general, try to use the original param names. If both the new and original param names exist in the same OBJECT tag, the value associated with the new param name is always used by Oracle JInitiator to load the applet or Bean.
To use Oracle JInitiator in Navigator 4.7.x on Win32 platforms, use the EMBED tag. The following example maps an APPLET tag to a Oracle JInitiator EMBED tag:
<APPLET code="XYZApp.class" codebase="html/" align="baseline"
width="200" height="200">
<PARAM NAME="model" VALUE="models/HyaluronicAcid.xyz">
No JDK 1.3 support for APPLET!!
</APPLET>
<EMBED type="application/x-jinit-applet;version=1.3.1.17" width="200"
height="200"
align="baseline" code="XYZApp.class" codebase="html/"
model="models/HyaluronicAcid.xyz"
pluginspage="http://www.acme.com/jinit_download.htm">
<NOEMBED>
No JDK 1.3 support for APPLET!!
</NOEMBED>
</EMBED>
Notice that the EMBED tag contains similar information to the APPLET tag, and it is sufficient to launch Oracle JInitiator in Netscape Navigator. The attribute type in the EMBED tag is used for identifying the type of the Java executable, such as an applet or a Bean. When Netscape Navigator renders this attribute in the EMBED tag, it will try to load Oracle JInitiator into the browser. By specifying the type attribute, Oracle JInitiator will know how to initialize the Java executable. In the above example, there are several attributes in the EMBED tag, such as width, height and align, that map directly from the corresponding attributes in the APPLET tag. These contain formatting information that Netscape Navigator uses to position Oracle JInitiator. Since this information is mapped directly without changes, the position and appearance of the applets using Oracle JInitiator should be the same as those applets using the APPLET tag.
Unlike the OBJECT tag, all information must be stored inside the <EMBED> tag instead of using PARAM. Therefore, all attributes and params in the APPLET tag must be mapped as attribute-value pairs inside the EMBED tag. In the above example, the code and codebase attributes in the APPLET tag are mapped into the EMBED tag attributes. Attribute code identifies the applet, and its value should be the same as the code attribute in the APPLET tag. Attribute codebase identifies the codebase of the applet. Oracle JInitiator knows where to download the applet or Beans because it can read this information from the attributes. Also notice that the model attribute within the EMBED tag is mapped from the model param inside the APPLET tag.
Like the codebase attribute in the OBJECT tag, attribute pluginspage in the EMBED tag is used by the Netscape Navigator if Oracle JInitiator is not installed. It should always point to the Oracle JInitiator Download Page on Oracle's web site.
The text "No JDK 1.3 support for APPLET!!" in the APPLET tag is mapped inside the <NOEMBED> and </NOEMBED> tags. Originally, this text is displayed only if the browser does not have Java support. By mapping it inside the NOEMBED tag, this text will displayed if the browser does not support the EMBED tag, or if Netscape Navigator fails to start the Oracle JInitiator.
Attributes |
APPLET tag support |
EMBED tag support |
Attribute map in EMBED tag |
ALIGN
|
X
|
X
|
Attribute ALIGN
|
ALT
|
X
|
X
|
Attribute ALT
|
ARCHIVE
|
X
|
|
Attribute archive
|
CODE
|
X
|
|
Attribute code
|
CODEBASE
|
X
|
|
Attribute codebase
|
DOWNLOAD
|
X
|
|
Attribute download
|
HEIGHT
|
X
|
X
|
Attribute HEIGHT
|
HSPACE
|
X
|
X
|
Attribute HSPACE
|
NAME
|
X
|
X
|
Attribute NAME
|
OBJECT
|
X
|
|
Attribute object
|
TITLE
|
X
|
X
|
Attribute TITLE
|
VSPACE
|
X
|
X
|
Attribute VSPACE
|
WIDTH
|
X
|
X
|
Attribute WIDTH
|
|
Meaning in EMBED tag |
Attribute type | If it is a Java applet, the value should be "application/x-jinit-applet;version=1.3.1.17". If it is a JavaBeans, the value should be "application/x-jinit-bean;version=1.3.1.17". |
Attribute codebase | Specifies the base URL of the applet. This attribute is optional. |
Attribute code | Specifies the name of the Java applet or JavaBeans. It cannot be used with param object inside the same EMBED tag. |
Attribute object | Specifies the name of the serialized Java applet or JavaBeans. It cannot be used with param code inside the same EMBED tag. This attribute is optional. |
Attribute archive | Specifies the name of the Java archive. This attribute is optional. |
Attribute pluginspage | It should be a full URL point to a HTML page somewhere on the network. |
Similar to the OBJECT tag case, if the original APPLET tag has PARAM type, codebase, code, object or archive, mapping it to the EMBED tag attribute will cause a problem. Thus, Oracle JInitiator also supports the same new set of attribute names, as follows:
Original Attribute Names |
New Attribute Names |
code |
java_code |
codebase |
java_codebase |
archive |
java_archive |
object |
java_object |
type |
java_type |
You should use these new attribute names only when necessary. In general, try to use the original attribute names. If both new and original attribute names exist in the same EMBED tag, the value associated with the new attribute name is always used by Oracle JInitiator to load the applet or Bean.
The OBJECT tag in Internet Explorer and the EMBED tag in Netscape Navigator allows your HTML page to use Oracle JInitiator. However, if the HTML page is on the Internet/Intranet, the page is likely to be browsed by both Internet Explorer and Netscape Navigator. You should activate Oracle JInitiator if both Netscape Navigator and Internet Explorer will browse the same HTML page. You can achieve this using the Oracle JInitiator OBJECT tag, as follows:
<APPLET code="XYZApp.class" codebase="html/" align="baseline"
width="200" height="200">
<PARAM NAME="model" VALUE="models/HyaluronicAcid.xyz">
No JDK 1.3 support for APPLET!!
</APPLET>
Because Internet Explorer understands the <OBJECT> tag, it will try to launch Oracle JInitiator. Notice that the <COMMENT> tag is a special HTML tag understood only by Internet Explorer. Internet Explorer ignores text between the <COMMENT> and </COMMENT> tags. Thus, in effect, the above tags actually become:
<OBJECT classid="clsid:CAFECAFE-0013-0001-0017-ABCDEFABCDEF"
width="200" height="200" align="baseline"
codebase="http://www.acme.com/jinit13117.exe#Version=1.3.1.17">
<PARAM NAME="code" VALUE="XYZApp.class">
<PARAM NAME="codebase" VALUE="html/">
<PARAM NAME="type" VALUE="application/x-jinit-applet;version=1.3.1.17">
<PARAM NAME="model" VALUE="models/HyaluronicAcid.xyz">
No JDK 1.3 support for APPLET!!
</NOEMBED></EMBED>
</OBJECT>
This is identical to the OBJECT tag example outlined above. The </NOEMBED> and </EMBED> tags are ignored by the OBJECT tag because there are no corresponding <NOEMBED> and <EMBED> tags.
Because Netscape Navigator does not understand the OBJECT and COMMENT tags, Netscape Navigator reads the above tags as follows:
<EMBED type="application/x-jinit-applet;version=1.3.1.17" width="200" height="200"This is identical to the EMBED tag example outlined above. Netscape Navigator ignores <COMMENT> and </COMMENT> tags because they are an HTML extension in IE only.
This example illustrates that you can use the combined OBJECT-EMBED tag to activate Oracle JInitiator in the browser if either Internet Explorer or Netscape Navigator is used. This combined tag is strongly recommended unless your HTML page is browsed by users in a heterogenous environment. The Java Plug-in HTML Converter from JavaSoft also automatically converts HTML pages into this tag style for you.
Note that the use of Oracle JInitiator is not limited to the tag styles described in this document. In fact, webmasters are encouraged to modify the tag style or mix the tag with JavaScript to fit their needs. As long as the described OBJECT tag is used in IE and EMBED tag is used in Navigator, there should be no problems running Oracle JInitiator. Currently, there are several conversion templates shipped with the Java Plug-in HTML Converter. Webmasters are encouraged to modify these templates to use Oracle-specific values for the MIME types and ActiveX class IDs, so that they convert their HTML files to use Oracle JInitiator.
Copyright © 2004 Oracle Corporation
All Rights Reserved. |