When SUN finally came out with Java Plugin 1.6.0_10, I was extatic! Finally our Java Applets will be able to run in Internet Explorer 7 (IE7) unrestricted, with the ability to access all parts of the c:\ drive. This was possible due to the "The Next-Generation Java Plugin" which is completely independent from the IE7 security model. The previous versions of Java Plug in required that the user adds the web site running our applets to their Trusted Web sites list before the applets could access any part of the c:\ drive.
Here is a screen shot of the new Java Plug in Control Panel:
This was the happy ending of the story... or so I thought.
Surprise, surprise! It turns out that both Firefox 3 and Google Chrome don't fully support this "next-generation" plug in. The problem with FF3 and Chrome is that the <Object> tag used to embed the applet on a web page ignores the <base> tag in the same document. In an HTML document, a <base> tag is used to define where all the relative links should be based if they stem from a location other than the web root. This tag is particularly useful in Java Struts when actions (URLs ending with .do) are mapped to a JSP page that is not in the ROOT of the web application.
As a result of FF3 and Chrome ignoring the tag, applets don't run when a <base> tag is used, forcing us to make multiple copies the same JAR file for the applet in all the sub-directories of our web application.
A bug about this has already been reported to Mozila (Firefox) Here is a link if you would like to read more about this:
The only workaround for this problem suggested by the Firefox community is:
“… If you disable the next generation java plugin then firefox 3 works according to firefox 2 rules and displays the applets…”
To disable next generation plugin, go to Control Panel, Java, Advanced, Java Plugin and un-check the checkbox.
There is a big side effect with this fix, If you disable the Next Generation Plug-in, then Internet Explorer will not allow the applets to access local files.
So to fix Firefox3 bug, you must in fact break Internet Explorer 7.
I was hoping that web browser wars were over, but I guess I was wrong. We waited for IE for a long time, and now we have to wait until FF3 and Google Chrome fix this bug; hopefully it will be in their next release.