1.6.1_RC2 - IE8 - No Java
Reported by orv | April 30th, 2009 @ 10:19 PM
I'm getting the following dialog in IE8 on Vista since upgrading from 22.214.171.124
"The page you are viewing uses Java. More information on Java support is available from the Microsoft website."
We don't use Java applets and only appear to get the message on machines which don't have Java installed.
I found the following on Google before realising I should probably raise a ticket here.
I've attached a screenshot and I'm willing to test any patches or provide more information if you require it.
Comments and changes to this ticket
- Assigned user set to Juriy Zaytsev
- State changed from new to bug
I don't have an access to Java-less IE at the moment. It would be helpful to know how we can check if java is installed (so that, at least, we don't create APPLET element if Java is missing).
I see 2 options here and, frankly, both of them suck.
1) Remove this workaround altogether. This would make OBJECT elements lack all of the
Prototype's Element.Methods.*(as well as specific OBJECT methods - inherited from
HTMLObjectElement.prototype). This might lead to quite a confusion.
myObjectEl.show()would throw error; people would need to remember to call
Element.show(myObjectEl)and even using longer notation, there's no guarantee that things would work (as many methods perform logic which expects element to be extended).
2) Perform deficiency test at runtime. There would be no APPLET creation at load time anymore. Rather,
Element.extendwould only run test when APPLET element itself was passed into it. Since this check needs to be run in a
BrowserExtensionsbranch, browsers like Firefox and Safari (which support element extensions) would needlessly spend time on additional checks, instead of just using
Element.extend. Even if
Element.extendis to be redefined at runtime, it would only happen after APPLET element was passed into it; if an application doesn't use APPLET elements,
Element.extendwould never be redefined and would be permanently stuck performing - if (element.tagName.toUpperCase() === 'APPLET') - checks.
Second option is by far more appealing.
Does anyone have other ideas?
hmmm, maybe I'm missing something, but I'm not seeing any issue when java is not installed. Are there any additional steps that I need to take? Could this be a vista only issue since the MS Java VM was removed after XP (If I remember correctly)
I'm using 1.6.1 from trunk.
I downloaded the IE8 vm from here: http://www.microsoft.com/downloa... and I'm running it through MS Virtual PC.
I removed the MS Java VM using these instructions: http://windowsitpro.com/article/...
I verified that java is not installed using http://www.knallgrau.at/code/plu...
I'm willing to try more tests if someone has a suggestion to try and track down the issue.
I'm not sure if this is going to be the best example, but I've attached a sample where the dialog is displayed.
The sample includes a script tag for Google maps, but if you remove either script tag, the dialog disapears.
Once you've received the error once, it doesn't occur again if you CTRL+F5, but if you highlight the URL in the address bar, then press Enter it does.
OK, some quick testing confirms that the problem goes away as soon as we cease creating an
I think we can take a small step away from the ideal of capability detection and assume that if the browser manifests this problem for
OBJECTelements, it'll do so for
APPLETelements as well. In other words, let's test just for
OBJECT, but apply the fix to both
APPLETif it's needed.
- State changed from incomplete to bug
Fixed in my fork (together with #681) http://github.com/kangax/prototype/commit/9020365266347c5fb1e7cd17ac118fce104fd565
- State changed from bug to resolved
(from [94747c579f248d9dfda1b8ef8d37ebeffa2cf151]) Avoid triggering a warning when Java is disabled in IE8. [#668 state:resolved] http://github.com/sstephenson/prototype/commit/94747c579f248d9dfda1...