IE7 - Problema com as animações Flash

Dezembro 2016



Esta é uma dica que o ajudará se, no Internet Explorer 7, uma animação em flash for substituída por uma quadrado cinza no qual você deverá clicar, para iniciar a animação.

Basta usar um script.

Crie um arquivo .js (JavaScript), e copie/cole 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.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; 

  } 
} 
}



Depois, coloque um link para o seu arquivo antes do tag de fechamento </body> das páginas que causam problemas:

<script language="JScript" type="text/jscript" src="activateActiveX.js"></script> 
</body> 
</html>



Salve, e pronto, você não precisará mais clicar para lançar a animação.


Tradução feita por Lucia Maurity y Nouira


Veja também :
Este documento, intitulado « IE7 - Problema com as animações Flash »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.