Opera only includes Java-related MIME types in the JavaScript
navigator.mimeTypes
array if the Java plugins are present in
Opera's plugins folder. These MIME types are:
application/x-java-applet
application/x-java-bean
application/x-java-vm
The following table lists all the Java-related MIME types known to your installation of Opera:
Description | EnabledPlugin | Suffixes | Type |
---|
Opera does not need the plugins to do Java, it can access Java directly. However, if the Java plugins are removed from the plugin folder, then no Java-related MIME types are listed in the array (except for the file-related entries).
If Opera detects the availability of Java, then it should ensure that
the navigator.mimeTypes
has appropriate entries in it at all
times.
The Gecko browsers also use the navigator.mimeTypes
array. They
go one step further than Opera and include version parameters. Where Opera may
just list:
application/x-java-applet
application/x-java-bean
application/x-java-vm
the Gecko browsers list each type multiple times, with different version numbers (older version numbers are listed as well as the actual version number, presumably for backwards compatibility):
application/x-java-applet;version=1.4.2
application/x-java-bean;version=1.4.2
application/x-java-vm;version=1.4.2
application/x-java-applet;version=1.4
application/x-java-bean;version=1.4
application/x-java-vm;version=1.4
application/x-java-applet;version=1.3.3
application/x-java-bean;version=1.3.3
application/x-java-vm;version=1.3.3
application/x-java-applet;version=1.3
application/x-java-bean;version=1.3
application/x-java-vm;version=1.3
application/x-java-applet;jpi-version=1.4.2
application/x-java-bean;jpi-version=1.4.2
application/x-java-vm;jpi-version=1.4.2
application/x-java-applet
application/x-java-bean
application/x-java-vm
These version numbers appear to come from different Java plugin libraries. eg I have seven Java-related plugin files.
Whether or not plugins are present, if Opera detects the presence of
Java, then Opera should ensure a suitable list of types and versions is
available via the navigator.mimeTypes
array, synthesizing them if
necessary.
I will note that RFC2045, section 5 describes the use of parameters (";param-name=param-value"). There is nothing wrong with the Gecko browsers inclusion of them in the MIME type string.
The Common-use Signing Interface
system, as used by the Australian Taxation Office, performs an installation
check using the navigator.mimeTypes
array, including a check for
version parameters.
Go to their site, then click on "Install CSI". A page describing the installation process will appear. Clicking Next will reveal a page listing the system requirements. This page has the code that performs the check (search the page source for "isJavaInstalledForNetscape"). Clicking Next will reveal a page that says Java is not available.