Fixa ActiveX-kontroller så de aktiveras i IE

Bakgrund
Microsoft blev år 2003 stämda av företaget Eolas som krävde ett skadestånd på 521 miljoner dollar. Eolas menar att Microsoft har använt patenterad teknik i deras populära webbläsare, Internet Explorer, genom sättet som de länkar in ActiveX-kontroller. Detta omfattar Flash, Quicktime, Microsoft mediaspelare m.m.

Istället för att betala skadeståndet svarade Microsoft med att ta bort denna funktionalitet från IE. Detta skedde genom en säkerhetsuppdatering i juni 2006. Microsoft har fått en del kritik för sitt förhavande, speciellt eftersom man valde att få det att se ut som en säkerhetsuppdatering för användarna. Man borde ha gjort en speciell uppdatering för att bättre förklara bakgrunden till borttagningen av AxtiveX funktionerna.

Läs mer om stämningen här:
http://www.informationweek.com/security/showArticle.jhtml?articleID=185300841

Problemet och lösningar
Om inget görs möts besökaren av meddelandet "Klicka här om du vill aktivera och använda den här kontrollen." och man måste klicka en extra gång innan man kan använda kontrollen.

Det finns några sätt att arbeta runt dessa nya begränsningar som involverar javascript och omskrivande av embed-taggarna.

Här är Microsofts rekommendationer:
http://msdn.microsoft.com/workshop/author/dhtml/overview/activating_activex.asp

Och Macromedias:
http://www.adobe.com/devnet/activecontent/articles/devletter.html

Båda dessa tekniker innebär att man skriver om all kod och detta kan vara väldigt omständigt på en stor hemsida som innehåller många ActiveX kontroller.

Den lätta lösningen
Det finns dock en enkel lösning genom att använda följande javascript-include. Döp scriptet till förslagsvis activate_activex.js och länka in det längst ner på sidan som innehåller dina kontroller precis innan /body-taggen.


theObjects = document.getElementsByTagName("object");
for (var i = 0; i < theObjects.length; i++) {
theObjects[i].outerHTML = theObjects[i].outerHTML;
}

Jag hittade detta användbara skript här:
http://www.amarasoftware.com/flash-problem.htm

Comments

[…] En käpp i hjulet var Eolas stämning mot Microsoft som ledde till att mjukvarujätten beslutade sig för att ta bort viss funktionalitet ur IE. Som tur var gick det att hacka runt det och vi har skrivit om en lösning hur man fixar autostart på ActiveX-objekt tidigare. […]
[…] Som tur var det inte allt för jobbigt att komma runt om man visste de rätta knepen. […] Nu under hösten 2007 har Microsoft gjort upp med EOLAS och betalat en okänd summa pengar för att återigen få använda tekniken. Äntligen! […]