I have a page with a Java applet that has the following JavaScript code which makes a LiveConnect call when the window is closing to perform some clean up tasks:
window.onbeforeunload = function(e) {
var result = document.OutApplet.closeCheck();
Up until yesterday this was working as expected and performed the clean up tasks within the applet.
Now that Java 7u51 is available I have accessed this applet today and selected 'Later' when prompted to updated to the latest version of Java. Now when I close the window I get a JavaScript error:
Object doesn't support property or method 'closeCheck'
Just to clarify this is with Java 7u45 installed.
Is this expected behaviour or is there anything I can do to make it still work on 7u45? I can't find any mention of this in the release notes and prior to 7u51 our live connect call would still work without being on the latest security baseline.
Update
The above was with my Java security set as High.
I have changed it to Medium and repeated the above. I now get a message asking if I want to allow or block the LiveConnect call.
It seems there is now an undocumented (as far as I can find) requirement that LiveConnect will only work if you are on the security baseline (7u51).
Note the LiveConnect call to the applet works without any changes to the applet once I've updated to 7u51
This is a known Java bug affecting all version from 7u25 to 7u45:
http://bugs.sun.com/view_bug.do?bug_id=8027405
Only solution is to upgrade to 7u45 7u51 or set the java security slider to 'Medium'.
[Edit] corrected fix version according to bug report
As to why this recently (yesterday) started failing was because the baseline has been updated https://javadl-esd-secure.oracle.com/update/baseline.version, now if you edit C:\Users\username\AppData\LocalLow\Sun\Java\Deployment\security\baseline.versions and change the 1.7.0_51 to 1.7.0_45 and save the file, it should start working again(but will eventually be updated probably after some arbitrary time).
1) Close all browsers and programs
2) In the windows explorer, go to %localappdata%low\Sun\Java\Deployment
3) Open the file named “deployment.properties”
4) Add in the below line at the end of this file
deployment.expiration.check.enabled=false
5) Save and close the file
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With