Aquí veremos un truco que te ayudará si en Internet Explorer 7, una animación flash es reemplazada por un cuadro gris sobre el que hay que hacer clic para ejecutar la animación.
La solución consiste en utilizar un simple script.
Crea un fichero .js (JavaScript), y copia y pega este código:
/*
activateActiveX
---------------
Purpose: Dynamically replace any elements that will be affected by the new security feature in IE6/IE7 that requires a user to click certain types of elements to activate them before use.
Usage: Include this file at the end of your html document using the following...
<script language="JScript" type="text/jscript" src="activateActiveX.js"></script>
Since this script is in response to a software patent lawsuit, I feel it necessary to state the following...
License:
activateActiveX is Copyright (C) 2006 Jason Baker (therippa AT gmail.com). It is available as open source code from: http://therippa.blogspot.com
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details http://www.gnu.org/licenses/gpl-3.0.html*/
//Determine browser, we only need this for Internet Explorer
if (navigator.appName == "Microsoft Internet Explorer") {
//Array of elements to be replaced
var arrElements = new Array(3);
arrElements[0] = "object";
arrElements[1] = "embed";
arrElements[2] = "applet";
//Loop over element types
for (n = 0; n < arrElements.length; n++) {
//set object for brevity
replaceObj = document.getElementsByTagName(arrElements[n]);
//loop over element objects returned
for (i = 0; i < replaceObj.length; i++ ) {
//set parent object for brevity
parentObj = replaceObj[i].parentNode;
//grab the html inside of the element before removing it from the DOM
newHTML = parentObj.innerHTML;
//remove element from the DOM
parentObj.removeChild(replaceObj[i]);
//stick the element right back in, but as a new object
parentObj.innerHTML = newHTML;
}
}
}
Luego coloca un vinculo hacia el fichero antes de la etiqueta de cierre </body> de las páginas que tienen problemas.
:
<script language="JScript" type="text/jscript" src="activateActiveX.js"></script>
</body>
</html>
Lo guardas, y listo. No habrás más necesidad de hacer clic para ejecutar la animación.