"Click to activate and use this control" appearing for applets in IE

M

Mickey Segal

As detailed at
http://weblog.motion-graphics.org/archives/2006/03/click_to_activa.html, a
recent Microsoft Update causes Internet Explorer to disable Java applets
until the user clicks on the applet. Until then IE displays a Tooltip with
the message "Click to activate and use this control". A user who previously
needed to click on a button in the applet to start a program now needs two
clicks - one to activate the applet and a second to click the button.

This latest annoyance is the result of a patent dispute, and other content
such as Flash. More details on the hassles awaiting the unsuspecting users
who accept this update from Windows Update are in
http://support.microsoft.com/kb/912945/en-us. The Knowledge Base article
makes it sound like this is not an issue for JRE 1.5, but my testing in JRE
1.6 shows it is a problem.

I see examples of code that can be put into Flash pages to turn off this
annoyance. Are there ways to protect pages with Java applets?
 
O

Oliver Wong

Mickey Segal said:
I see examples of code that can be put into Flash pages to turn off this
annoyance. Are there ways to protect pages with Java applets?

Well, what is the example for Flash?

I'm not a JavaScript guru, but could the solution be as simple as
writing a JavaScript to fake a mouse click into the embedded object?

- Oliver
 
T

Timo Stamm

Oliver said:
Well, what is the example for Flash?

I think it is a javascript call from the flash movie:

getURL("javascript:document.getElementById(...).focus();");

I'm not a JavaScript guru, but could the solution be as simple as
writing a JavaScript to fake a mouse click into the embedded object?

Something like

<body onload="document.getElementById(...).focus();">

will probably suffice for most cases. Damn software patents.


Timo
 
M

Mickey Segal

Oliver Wong said:
Well, what is the example for Flash?
I'm not a JavaScript guru, but could the solution be as simple as
writing a JavaScript to fake a mouse click into the embedded object?

The example I saw is at
http://www.pixelmill.com/(xecadpcjrastkq8t3n8qby53)/support/support_article.aspx?ArticleID=kb101593
The basic idea seems to be to use JavaScript to load something from
somewhere else; it involves a bunch of steps. I haven't quite figured out
what is going on.

It would be great if we could post the workaround code for a simple Hello
World Java applet using <APPLET> tags so everyone could get around this
problem without having to slog through this out themselves.

Although the Microsoft Update that cripples IE in this way is now an
optional download it is expected to be part of the next security update
pushed to all users, which could be as soon as tomorrow.
 
T

Timo Stamm

Timo said:
Something like

<body onload="document.getElementById(...).focus();">

will probably suffice for most cases. Damn software patents.


No, apparently it doesn't :(

You have to write the entire embed/object tag using javascript. There
are much easier ways than the one given in the link [1] Mickey posted,
though.

Apple has a very simple and easy to follow example for quicktime movies:

http://developer.apple.com/internet/ieembedprep.html


Here is one for flash movies (it was created to solve other problems,
but it fixes the focus issue, too):

http://blog.deconcept.com/flashobject/


Timo

____
[1]http://www.pixelmill.com/(xecadpcjrastkq8t3n8qby53)/support/support_article.aspx?ArticleID=kb101593
 
R

Roedy Green

I see examples of code that can be put into Flash pages to turn off this
annoyance. Are there ways to protect pages with Java applets?

Tell people to use a different browser.
 
M

Mickey Segal

Timo Stamm said:
Apple has a very simple and easy to follow example for quicktime movies:
http://developer.apple.com/internet/ieembedprep.html

The Apple approach looks pretty general and straightforward. I'll give it a
try.

For reasons too painful to recount, our company's software already has
<APPLET> tags generated in JavaScript, so this may not be a big deal for us
to implement. But this annoyance will cause a lot of bother if it shows up
on a hundred million computers over the next few days if it is included as
an obligatory part of a 14 March security update instead of in an optional
non-security upgrade as it appeared a few days ago.
 
T

Timo Stamm

Mickey said:
The Apple approach looks pretty general and straightforward. I'll give it a
try.

For reasons too painful to recount, our company's software already has
<APPLET> tags generated in JavaScript, so this may not be a big deal for us
to implement. But this annoyance will cause a lot of bother if it shows up
on a hundred million computers over the next few days if it is included as
an obligatory part of a 14 March security update instead of in an optional
non-security upgrade as it appeared a few days ago.

Imagine billions of animated flash advertisements stopping to work. This
issue is a blessing ;)


Timo
 
M

Mickey Segal

Timo Stamm said:
Imagine billions of animated flash advertisements stopping to work. This
issue is a blessing ;)

If this hits the general users, imagine how many people will decide they are
losing their minds.

Tomorrow I'll try to put up a Hello World applet that works around this
problem.
 
O

Oliver Wong

Timo Stamm said:
Imagine billions of animated flash advertisements stopping to work. This
issue is a blessing ;)

When users ask about this, be sure to mention two things. (1) It's due
to the broken patent system used in the US. (2) Firefox doesn't have this
problem.

Kill two birds with one stone.

- Oliver
 
M

Mickey Segal

Mickey Segal said:
Tomorrow I'll try to put up a Hello World applet that works around this
problem.

I put a Hello World applet with the JavaScript workaround at:
http://www.segal.org/java/HelloPatent/

Following the example that Apple gave:
http://developer.apple.com/internet/ieembedprep.html
I had two JavaScript lines in the HTML page:

Between the HEAD tags:
<script src="specifyApplet.js" language="JavaScript"
type="text/javascript"></script>

Where I actually insert the applet:
<script
language="JavaScript"type="text/javascript">getAppletTags();</script>

Could someone who knows more about JavaScript than I do please tell me
whether it is possible to simplify this? Is would be easier to retrofit a
bunch of pages if it the import statement between the HEAD tags could be
rolled into the other line as some sort of path for getAppletTags.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,153
Members
46,701
Latest member
XavierQ83

Latest Threads

Top