Microsoft recently announced (again) that they will be changing the way Internet Explorer handles plugins (more info here).
So how does all of this affect you being a web developer?
Basically, the functionality changes work like this:
When using an applet
, object
, or embed
tag to insert a plugin into an HTML document, that plugin will not allow user interaction until the user clicks on it. Microsoft calls this process “Activating an ActiveX Control’s Interface.”
In the case of the Flash plugin, it means that your Flash movies will not work until a user ‘activates’ it first by clicking on it. The details are still a bit fuzzy, and I can’t find a developer preview of IE 6 or IE 7 that include this new functionality to test this new functionality (If you find one, please let me know) (see below). This is a slight improvement over the previous ‘fix’ which was a small dialog prompt for each ActiveX control on a page. Now you just have to click on each control to activate it (if you want to interact with it).
Microsoft says “We believe over the next six months, most customers will be running copies of Internet Explorer with this behavior.” The changes will be rolled into IE 6 through security updates to Windows, and included in IE 7.
But that’s so stupid! How do I fix it?
Thankfully, Micosoft offers a fairly easy way around all this nonsense: Embed your Flash movies using Javascript. Head over to the FlashObject page* and start using it (you should be using it anyway, everyone else is!). You may also want to retrofit your old websites that don’t use Javascript since this change will affect every website. If you are using quicktime, you can always use my QTObject script which works the same way that FlashObject does, but for the Quicktime plugin.
UPDATE (1-22-2006): Apple has recently released a new script that is similar to my QTObject script to prepare people for the upcoming IE changes.
* UPDATE (2-21-2006): After testing with a patch (search the page for ‘English’ to find the download link) that Microsoft released recently released (and with some help from Dan Freeman) it turns out that you must have ‘Disable Script Debugging’ checked in the Advanced options of IE in order for the controls to be activated as they are embedded. If you have Script debugging on (it’s off by default) then you will still need to activate each ActiveX control on the page.
Also: Macromeida/Adobe has a new Active Content Developer Center.
UPDATE (3-1-2006): Microsoft has released the update. There’s more information and a nice list of possible issues you might have after installing the update on this Microsoft KB article page.
UPDATE (3-24-2006): Looks like Microsoft is set to roll out the Eolas changes to everyone around April 11th. Get ready.
UPDATE (3-29-2006) Microsoft announced their future plans for releasing the patch to customers today.
UPDATE (5-9-2006): Adobe posted what looks like a very rare edge case regarding an out of date jscript.dll causing users to always activate ActiveX controls, even if they are embedded using Javascript in the proper way.
I’m all for people protecting their IP.. but I find that the fact that the USPTO granted this patent and that Eolas is trying to make money by enforcing it, just plain stupid. Stuff like this just harms the users and ruins our experience. At least for now, they have left FireFox alone, but still most of my clients run IE.
Glad we have FlashObject!!
Pingback: evolvefuel
This is dumb ass, if FlashObject can do it, then any other not wanted plugin can do it.
Really dumb ass, but this kills all the nifty flash sites.
Such a dumb ass … this is what Apollo is needed for, if big mokeys like Microsoft want something, then they havet it.
Give flash another way to go, or promote the damn Firefox browser harder, all of you alternate commercial companies that relly on browser as base platform.