#668 ✓resolved
orv

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 1.6.0.2

"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.

http://groups.google.com/group/p...

I've attached a screenshot and I'm willing to test any patches or provide more information if you require it.

Thanks

Comments and changes to this ticket

  • Juriy Zaytsev

    Juriy Zaytsev May 1st, 2009 @ 07:37 PM

    • 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.extend would only run test when APPLET element itself was passed into it. Since this check needs to be run in a BrowserExtensions branch, browsers like Firefox and Safari (which support element extensions) would needlessly spend time on additional checks, instead of just using Prototype.K as Element.extend. Even if Element.extend is 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.extend would 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?

  • Tim Fluehr

    Tim Fluehr May 1st, 2009 @ 09:08 PM

    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.

  • Tim Fluehr

    Tim Fluehr May 1st, 2009 @ 11:38 PM

    Never mind my previous comment.

    IIS was still serving 1.6.0.3 instead of 1.6.1RC2 after I replaced the file.

    Once I rebooted the proper file was served and I'm seeing the error now.

    I'll take a look and see if I can come up with any suggestions.

  • Andrew Dupont

    Andrew Dupont May 2nd, 2009 @ 08:54 PM

    • State changed from “bug” to “incomplete”

    Yeah, we need more information about how to reproduce this issue. If anyone can, please update the ticket.

  • orv

    orv May 3rd, 2009 @ 01:26 AM

    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.

  • Andrew Dupont

    Andrew Dupont May 3rd, 2009 @ 03:03 AM

    Juriy, what about doing this capability test for only OBJECT elements and not APPLET elements?

  • Andrew Dupont

    Andrew Dupont May 3rd, 2009 @ 03:21 AM

    OK, some quick testing confirms that the problem goes away as soon as we cease creating an applet element dynamically.

    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 OBJECT elements, it'll do so for APPLET elements as well. In other words, let's test just for OBJECT, but apply the fix to both OBJECT and APPLET if it's needed.

  • Juriy Zaytsev

    Juriy Zaytsev May 3rd, 2009 @ 03:34 AM

    Andrew, I like it. It seems like the most painless solution, and I think there's a pretty big chance that if IE fixes object, it will also fix applet.

    Tobie?

  • Tobie Langel
  • Juriy Zaytsev

    Juriy Zaytsev May 19th, 2009 @ 06:45 AM

    • State changed from “incomplete” to “bug”
  • Tobie Langel
  • GitHub Robot

    GitHub Robot August 23rd, 2009 @ 11:24 PM

    • 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...

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

The Prototype JavaScript library.

Shared Ticket Bins

Attachments

Referenced by

Pages