Back to my Opera Bugs page

Java MIME Types (#148560)

MIME Type Presence Should Not Depend On Plugins

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:

The following table lists all the Java-related MIME types known to your installation of Opera:

Description EnabledPlugin Suffixes Type
JavaScript must be enabled

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.

Missing Version Parameters

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:

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):

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.

An Example Problem Site

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.

Back to my Opera Bugs page