OBJECT, EMBED, and APPLET
Tags With Different Plug-in Versions and BrowsersThis section deals with how different versions of Java Plug-in, runing with
different web browsers and web browser versions, behave when OBJECT,
EMBED, and APPLET tags appear on an HTML page. It
presents the various scenarios in table form and then answers some of the common
questions developers and users have.
|
HTML Tag
|
Additional Information
|
Browser
|
Behavior
|
OBJECT |
|||
|
This is referred to as dynamic versioning. |
|||
| IE | If the user has an older version of Plug-in than shown in
the codebase attribute of the OBJECT tag, the
user will be prompted to download the newer version. If the user has the
same or a newer version, that version will run. |
||
| Netscape 6 | In theory Netscape 6 should work the same as IE.* | ||
|
This is referred to as static versioning. |
|||
| IE | If the user has a different version than indicated in the
codebase attribute of the OBJECT tag, the user
will be prompted to download the newer version specified in the codebase. |
||
| Netscape 6 | In theory Netscape 6 should work the same as IE.* | ||
EMBED |
|||
|
Only This is another form of |
|||
| Netscape 4.x | If the user has a lower version than specified, then the user
will be directed to the pluginspage page. If the user has the
same or a higher version, then the installed version will run. |
||
| Netscape 6 | Same as described above for 4.x if only the EMBED
tag is present on the HTML page. However, if the OBJECT tag
is present, it will use it and ignore the EMBED tag. |
||
|
This is another form of static versioning. |
Netscape 4.x | If the user has a different version than specified in the
type attrribute, then the user will be directed to the pluginspage
page. |
|
| Netscape 6 | Same as described above for 4.x if only the EMBED
tag is present on the HTML page. However, if the OBJECT tag
is present, it will use it and ignore the EMBED tag. |
||
APPLET |
|||
| IE | If the user has Plug-in 1.3.1_01a or later installed and visits
a page with an APPLET tag, the applet will be run by the highest
installed version of Plug-in, 1.3.1_01a or later. If no such Plug-in is
installed on the system, then the browser VM will run the applet. |
||
| Netscape 4.x | Browser VM will run the applet in all cases. | ||
| Netscape 6 | In theory Netscape 6 should work the same as IE.* |
* If it does not, check the bug report.
Question: What happens with Internet Explorer when a user has already installed a version of the Plug-in (say, 1.3.1) and then requests an applet that requires a newer version of the plug-in (say, 1.4)? Will the user be prompted to install the new version of the plug-in (1.4)?
Answer: Yes. The version
will be indicated by the version specification in the codebase
of the OBJECT tag.
Question: What happens when the user at some later point returns to the applet that specifies the 1.3.1 plug-in? Does the 1.4 plug-in load, ignoring the applet's HTML plug-in version parameters?
Answer: Here the answer
depends on whether the 1.3.1 applet specifies clsid:8AD ... or
clsid:CAF .... The clsid:CAF ... indicates that the
applet requires the specific version of 1.3.1 to run; and so it will run with
the 1.3.1 version if it has not been removed from the system and will prompt
the user to install it if it has. However, if the clsid:8AD ...
is used and both versions of the Plug-in are still installed on the system,
then the 1.3.1 version will be run. If 1.3.1has been removed, the 1.4 version
will be run. In this case, any version of Plug-in equal to or higher than the
indicated version will be used.
Question: What happens when the user has a newer version of the plug-in installed (e.g., 1.4) but opens an applet whose HTML specifies an older version (1.3.1 or 1.2.1)? Will the user be prompted to install the older one? If so, what happens when the user returns to the newer applet?
Answer: This is similar
to the question above. If the clsid:CAF ... is used, then the older
version will be installed and run. However, if the clsid:8AD is
used, then the newer version will run the applet.
Question: What happens when an older version
of the plug-in is installed on top of a newer version? For instance, some customer
sites use automated "batch"
installation programs that remotely update users' computers over the local network.
If 1.3.1 were installed on a computer that already has 1.4, would applets that
require 1.4 still work? Would applets that require 1.3.1 work?
Answer: Assuming that
version 1.4 was not removed, both applets should still run. However, a problem
can occur when an older version of Plug-in is installed after a newer version.
Suppose 1.3.1 is installed after 1.4 is installed and both are still present
on the system. If the user goes to a page that specifies clsid:8AD ...
(dynamic versioning) with a codebase with version 1.4, then
Plug-in will prompt the user to install 1.4 again, even though it is installed.
This is what is happening in this case: The download services checks the clsid:8AD
... for version and finds it to be 1.3.1 (the last installed version),
and it compares this to the version indicated in the codebase,
which is 1.4. It decides that the user needs to install 1.4.
Question: How do we deploy incremental releases
of the plug-in from Sun? For instance, when Sun releases a maintenance version
of the 1.3 plug-in, how do our customers get this on their user's computers?
Do we change the codebase string "#Version"
from, say, "#Version=1,4,0,0" to "#Version=1,4,1,0"?
Or is the user stuck with the original version of 1.4 unless they, or their
IT department, manually install a newer one?
Answer: You can do either: you can change the version string to force download of a newer version, or users or IT departments can manually install the newer version. You could also set up an automated upgrade for all users. There may be advantages to removing earlier versions of Plug-in to avoid conflicts, such as the one described earlier.
Question: What about Netscape 4.x and 6? The
above discussion applies to the use of the OBJECT tag with Internet
Explorer.
Answer: In theory the
same applies to Netscape 6 when it encounters the OBJECT tag. Netscape
4.x uses the EMBED tag and the type attribute to indicate
the version of the Plug-in. Use of "jpi-version" in the
type is similar to clsid:CAF ... with the OBJECT
tag; this indicates that a specific Plug-in is required. Use of type
with just "version" is similar to clsid: 8AF ...;
it indicates version but only requires that an installed Plug-in version be
the same or higher but not exact.