Se han venido aportando soluciones al problema que ha surgido a raíz de la ultima actualización de Explorer que pide hacer click para activar las películas de Flash. En Adobe nos propusieron algunas soluciones y en Cristalab se curraron un interesante artículo sobre el problema y la solución utilizando SwfObject. Incluso hay una actualización de Dreamweaver que corrige el problema.
Lo que ocurre es que nada de lo anterior solucionaba el trabajo de tener que ir cambiando de un modo prácticamente manual todos los flash de trabajos anteriores; sobre todo si la cantidad es grande. La solución la encontré en esta página y es la siguiente:
Creas un fichero iefix.js en el que pegas el siguiente código:
Código :
objects = document.getElementsByTagName("object" ) ; for (var i = 0; i < objects.length; i++) { objects[i].outerHTML = objects[i].outerHTML; }
Debajo del último "object", por ejemplo antes de la etiqueta de cierre del "body"
insertas la siguiente linea:
Código :
<script type="text/javascript" src="iefix.js"></script>
Espero les sirva!
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por M@U el 18 de Octubre de 2007
Por Alfonso Ruzafa el 18 de Octubre de 2007
No sé si puede dar problemas si IE tiene inhabilitado JavaScript. Viendo el ejemplo se me ha ocurrido esto (aunque no lo he probado):
CSS de IE:
object {
behavior: iefix.htc;
}
iefix.htc:
<public:component lightWeight="true">
<script type="text/javascript">
element.outerHTML = element.outerHTML;
</script>
</public:component>
Por Gz.Francisco el 19 de Octubre de 2007
Espero que puedas decirme por que, por que cuando lo edito DreamWeaver lo arreglo a la primera para ambos navegadores.
Cuidate y gracias me parece muy bien que busques otras maneras (menos complicadas) de hacer esto.
Por perillan el 19 de Octubre de 2007
Yo actualmente estoy trabajando con Dreamweaver CS3 y esto lo soluciona automáticamente.
Pero cuando el servidor web está muy capado, y te obliga a trabajar con direcciones absolutas, este sistema falla.
Así que probaré estas nuevas iniativas a ver que pasa y os cuento
Un saludo
Por BeltranReal el 19 de Octubre de 2007
Por Emmanuel el 21 de Octubre de 2007
Y aqui tengo la solucion que yo uso para este problema en IE
Por ejemplo , creo una tabla y ahi pongo lo siguiente
<table width="980" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center"><script src="js/run.js" type="text/javascript">
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></HEAD>
<BODY bgcolor="#254063">
<div align="center">
<script type="text/javascript">runSWF("archivoflash.swf", 1024, 600,"6,0,29,0", "#254063");</script>
</div></td>
</table>
aqui cambio los parametros necesarios por ejemplo el nombre de mi archivo swf, y dentro de una carpata llamada js tengo el sigiouiente archivo run.js
function runSWF(archivo, ancho, alto, version, bgcolor, id, menu, FlashVars, quality, allowScriptAccess) {
if(version!=""){
var version_data=version;
}else{
var version_data="6,0,0,0";
}
if(menu!=""){
menu_data=menu;
}else{
menu_data=false;
}
if(bgcolor!=""){
var bgcolor_data=bgcolor;
}else{
var bgcolor_data="#FFFFFF";
}
if(id!=""){
id_data=id;
}else{
id_data="flashMovie";
}
if(quality!=""){
quality_data=quality;
}else{
quality_data="high";
}
if(allowScriptAccess!=""){
allowScriptAccess_data=allowScriptAccess;
}else{
allowScriptAccess_data="always";
}
var quality="high";
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' version_data '" width=' ancho ' height=' alto ' id=' id_data '>\n');
document.write('<param name="movie" value=' archivo '>\n');
document.write('<param name="allowScriptAccess" value=' allowScriptAccess_data '>\n');
document.write('<param name="quality" value=' quality_data '>\n');
document.write('<param name="FlashVars" value=' FlashVars '>\n');
document.write('<param name="bgcolor" value=' bgcolor_data '>\n');
document.write('<param name="menu" value=' menu_data ' >\n');
document.write('<embed src=' archivo ' bgcolor=' bgcolor_data ' FlashVars=' FlashVars ' menu=' menu_data ' allowScriptAccess=' allowScriptAccess_data ' quality=' quality_data ' pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width=' ancho ' height=' alto ' swLiveConnect=true name=' id_data '></embed>');
document.write('</object>\n');
}
ya con esto no tengo ningun problema para activar el swf, y siempre que lo aplico en alguna pagina solo hago una copia de la carpeta js y la agrego con mi siguiente pagina, espero que a alguien le sirva de algo.
saludos a todos
Por Eguy el 23 de Octubre de 2007
Pero para sites que no cuenten con estas herramientas, ésta es la mejor opción (y la mas simple de llevar adelante) sin lugar a dudas, mas teniendo en cuenta que si lo incluimos solamente en un include del footer, queda solucionado para todo el site con solo incluir una línea de código en un solo file .
Por Judit el 26 de Octubre de 2007
Por Osvaldo el 31 de Octubre de 2007
esa es el archico run.js ?
Te agradeceria bastante si me puedes aclaras esto.
Gracias...
Por Carlos Sandoval el 08 de Noviembre de 2007
Por Emmanuel el 13 de Noviembre de 2007
script src="js/run.js" type="text/javascript">
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></HEAD>
<BODY bgcolor="#254063">
<div align="center">
<script type="text/javascript">runSWF("archivoflash.swf", 1024, 600,"6,0,29,0", "#254063");</script>
</div>
despues creas una carpeta llamada js
habres un blog de notas y pones el codigo siguiente:
function runSWF(archivo, ancho, alto, version, bgcolor, id, menu, FlashVars, quality, allowScriptAccess) {
if(version!=""){
var version_data=version;
}else{
var version_data="6,0,0,0";
}
if(menu!=""){
menu_data=menu;
}else{
menu_data=false;
}
if(bgcolor!=""){
var bgcolor_data=bgcolor;
}else{
var bgcolor_data="#FFFFFF";
}
if(id!=""){
id_data=id;
}else{
id_data="flashMovie";
}
if(quality!=""){
quality_data=quality;
}else{
quality_data="high";
}
if(allowScriptAccess!=""){
allowScriptAccess_data=allowScriptAccess;
}else{
allowScriptAccess_data="always";
}
var quality="high";
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' version_data '" width=' ancho ' height=' alto ' id=' id_data '>\n');
document.write('<param name="movie" value=' archivo '>\n');
document.write('<param name="allowScriptAccess" value=' allowScriptAccess_data '>\n');
document.write('<param name="quality" value=' quality_data '>\n');
document.write('<param name="FlashVars" value=' FlashVars '>\n');
document.write('<param name="bgcolor" value=' bgcolor_data '>\n');
document.write('<param name="menu" value=' menu_data ' >\n');
document.write('<embed src=' archivo ' bgcolor=' bgcolor_data ' FlashVars=' FlashVars ' menu=' menu_data ' allowScriptAccess=' allowScriptAccess_data ' quality=' quality_data ' pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width=' ancho ' height=' alto ' swLiveConnect=true name=' id_data '></embed>');
document.write('</object>\n');
}
no hay necesidad de editarlo ni modificar nada
guardas el archivo como js.js ylo pones dentro de la carpeta JS QUE CREASTE y eso seria todo, si tienes alguna duda me avisas
Por David el 02 de Diciembre de 2007
Un saludo!
D.
Por Andres Lopez el 31 de Diciembre de 2007
Por aris el 14 de Febrero de 2008
Por ceaped el 27 de Febrero de 2008
Por ceaped el 27 de Febrero de 2008
missing ) after argument list
[Break on this error] document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" cod...
run.js (line 34)
runSWF is not defined
[Break on this error] <script type="text/javascript">runSWF("peli.swf", 1000, 600,"6,0,29,0", "#25406...
Por coop el 03 de Enero de 2009
PD:soy nueva en esto y estoy creando una página web como proyecto. Necesito ayuda!
Por dblanco el 18 de Marzo de 2009
yo utilizaba el iefix.js que funcionaba sin problemas hasta IExplorer 6, pero, tal y como ha comentado fraggz, ha dejado de funcionar con IExplorer 7
El caso es que en mi amplio código, no siempre es práctico utilizar SwfObject por lo que iexfix.js iba muy bien.
Además ha surgido un problema muy serio con los anuncios flash de Adsense. Me ha extrañado mucho no ver ningún tipo de documentación en ninguna parte. Ahora los que utilizamos Adsense, en IExplorer 7 aparece el dichoso recuadro si se trata de un anuncio en flash. Evidentemente no se puede utilizar SwfObject ya que Adsense utiliza <script> y todos sabemos lo que cuesta conseguir un click así que ahora se tienen que hacer 2 clicks para acceder al anuncio.
¿Nadie se ha percatado de este serio problema? ¿No existe solución?
Por Jhony el 07 de Enero de 2010