Hace un tiempo la gente de Microsoft decidio que para usar un control flash (hablando con propiedad serían los elementos APPLET, EMBED y OBJECT) en internet explorer primero habia que activarlo, se mostraba un mensaje “Click to activate and use this control” (en inglés) y “Haga click para activar y usar este control” (en castellano) tal como lo muestran estas imagenes:
Según Microsoft sacarian en Abril del 2008 un parche para no hacer este click. Por ahora nos dan un preview (para ir probando las aplicaciones), si descargas e instalas este parche de microsoft ya no será necesario que actives un control flash antes de usarlo.
Descargar el parche:
http://support.microsoft.com/kb/945007
Información acerca del componente ActiveX:
http://msdn2.microsoft.com/en-us/bb969055.aspx
Aunque algunos de nosotros ya sabiamos que usando javascript podiamos esquivar esta previa activación del control, de la siguientes formas:
Usando document.write:
var obHTML = '<object ...>' +
'<param name="URL" value="example.mpeg">'+
'<embed src="example.mpeg" ...>'+
'<\/object>';
//the next line needs to be in an external file
document.write(obHTML);
Usando innerHTML
var obHTML = '<object ...>' +
'<param name="URL" value="example.mpeg">'+
'<embed src="example.mpeg" ...>'+
'<\/object>';
//the next line needs to be in an external file
document.getElementById('containobj').innerHTML = obHTML;
Usando DOM
var newOb = document.createElement('object');
//the next line needs to be in an external file
document.getElementById('containobj').appendChild(newOb);
newOb.width = '100';
newOb.height = '100';
newOb.URL = 'example.mpeg';
También habia código de software propietario como Dreamweaver (antes Macromedia ahora Adobe). Insertaba una JS en tú página web:
<script src="AC_RunActiveContent.js" language="javascript"></script>
y luego insertaba las siguientes lineas donde querias insertar el objeto flash:
<script language="javascript">
if (AC_FL_RunContent == 0) {
alert("This page requires AC_RunActiveContent.js");
} else {
AC_FL_RunContent(
'codebase', 'https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
'width', '200',
'height', '200',
'src', 'yourswffile',
'quality', 'high',
'pluginspage', 'https://www.macromedia.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'false',
'scale', 'noscale',
'wmode', 'window',
'devicefont', 'false',
'id', 'flash-animations',
'bgcolor', '#eeeeee',
'name', 'yourswffile',
'menu', 'false',
'allowScriptAccess','sameDomain',
'movie', 'yourswffile',
'salign', ''
);
}
</script>
<noscript>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="200" height="200" id="flash-animations" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="flash-animations.swf" />
<param name="loop" value="false" />
<param name="menu" value="false" />
<param name="quality" value="high" />
<param name="bgcolor" value="#eeeeee" />
<embed src="flash-animations.swf" loop="false" menu="false" quality="high" bgcolor="#eeeeee" width="200" height="200" name="flash-animations" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer" />
</object>
</noscript>
Descargar ejemplo y archivos javascript de adobe (macromedia):
http://download.macromedia.com/pub/developer/activecontent_samples.zip
Información de Adobe:
http://www.adobe.com/devnet/activecontent/articles/devletter.html
Información de microsoft:
http://msdn2.microsoft.com/en-us/library/ms537508.aspx
Post de IEBlog:
http://blogs.msdn.com/ie/archive/2007/11/08/
ie-automatic-component-activation-changes-to-ie-activex-update.aspx
Información de adobe:
http://kb.adobe.com/selfservice/viewContent.do?externalId=7c29e252&sliceId=1
Links de referencia:
http://www.amarasoftware.com/flash-problem.htm
http://www.howtocreate.co.uk/noclicktoactivate.html
Tal parece que algunos han tenido problemas con el javascript del dreamweaver y usan como alternativa el:
SWFObject: Javascript Flash Player detection and embed script
Incluir la cabecera del JS
<script type="text/javascript" src="swfobject.js"></script>
Poner un div en caso no se pueda visualizar contenido en flash
<div id="flashcontent">
This text is replaced by the Flash movie.
</div>
y luego utilizar la función javascript para mostrar flash:
<script type="text/javascript">
var so = new SWFObject("movie.swf", "mymovie", "400", "200", "8", "#336699");
so.write("flashcontent");
</script>
Descargar:
http://blog.deconcept.com/swfobject/swfobject.zip
Página oficial:
http://blog.deconcept.com/swfobject/