HTML and CSS Reference
In-Depth Information
codebase="http://java.sun.com/products/plugin/1.4/jinstall-
14-win32.cab#Version=1,4,0,mn">
<param name="codebase" value="/applets">
<param name="archive" value="foo.jar">
<param name="code" value="com.example.applets.BugView">
<!--[if !IE]> -->
<object classid="com.example.applets.BugView"
archive="BugView.jar"
type="application/x-java-applet"
width="300" height="300">
<param name="codebase" value="/applets">
</object>
<!-- <![endif]-->
</object>
Browsers fall through these until they find one they recognize. However, IE's must-ignore behavior is
nonconformant, so we have to use special comments to hide markup from it. This is ugly and large, but it is
technically valid, and it does seem to work in all modern browsers.
Mechanics
Strict validation will find and report all
applet
elements that you need to fix. Alternatively, you can just do a
quick search for
<applet
.
You need to change this twice, once for IE and once for other browsers. The IE-specific
object
element wraps
the other
object
element. We use IE conditional comments to hide the inner
object
element from IE.
For the outer element:
Change
applet
to
object
in both the start- and end-tags.
If the value of the
code
attribute ends in
.class
, remove
.class
. The value of the
code
attribute should
be the fully package-qualified name of the applet, nothing more or less.
Add a
classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
attribute.
Move the
codebase
attribute (if any) into a
param
child element with a
name="codebase"
attribute. The
value
attribute of this
param
element should have the actual codebase as its value.
Add a new
codebase
attribute
Move the
archive
attribute (if any) into a
param
child element with a
name="archive"
attribute. The
value
attribute of this
param
element should have the value of the old
archive
attribute as its value.
Change the
object
attribute (if any) to a
data
attribute with the same value.
Search WWH ::
Custom Search