Ya hace un tiempo que microsoft en una de sus últimas actualizaciones puso el famoso cartelito en los controles activex.. todo viene a raíz de una demanda judicial de una empresa que tiene patentado la inclusión de objetos ... así que con las etiquetas object, applet, o embed pasan estas cosas.. son 560 millones de dolares los que pide la empresa Eolas por utilizar su patente
Hay varias soluiones circulando por ahí: la solución de Adobe
Básicamente consiste en crear una función que escriba el código < object > y demás.
function ActivarFlash()
{
document.write('< OBJECT ...\n');
document.write('< PARAM NAME="movie" VALUE="---.swf">\n');
document.write('< PARAM NAME="quality" VALUE="high">\n');
document.write('< PARAM NAME="BGCOLOR" VALUE="#404040">\n');
document.write('< embed src="---.swf" ...>\n');
document.write('</embed>\n');
document.write('</object>\n');
}
esto se colocaría en un archivo externo. por ejemplo: activar.js
En la cabecera del archivo pondríamos:
< script src="js/activar.js" type="text/javascript"></script>
y luego < script type="text/javascript">ActivarFlash();</script> donde va colocado el flash.
Cómo os podéis imaginar la cosa se complica cuando tenéis varios flash en la página.
Encontré una solución hace unos días. se trata de utilizar el dom para ir activando uno a uno cada object que se encuentra.
Creas un js. Lo llamas activaractivex.js y pegas este código:
objects = document.getElementsByTagName("object");
for (var i = 0; i < objects.length; i++)
{
objects[i].outerHTML = objects[i].outerHTML;
}
Al final del todo o detrás del último object insertas la siguiente linea:
< script type="text/javascript" src="activaractivex.js"></script>
Esto viene muy bien si tienes plantillas dinámicas con poner estos códigos en la cabecera y en el pie de página te ahorras ir página a página...
4 comentarios:
Hola Carlos:
Hace un tiempo publiqué un Javascript basado justamente en el método que mencionas a través del DOM. Asi como lo presentas trae algunos inconvenientes. Por ejemplo, en IE la propiedad outerHTML en ciertos casos devuelve el código incompleto; también en IE s epresenta un problema con los archivos de video.
Mi trabajo es una versión mejorada de esta metodología. Dale un vistazo y me cuentas tu opinión :D
JS Embedded Content
Gracias por tu comentario. La verdad es que casi no he usado este script. No suelo meter muchos flash sueltos.
Basándose en el método propuesto aquí:
http://erwin.ried.cl/?modo=visor&elemento=230
Encontré un parche que hace que Internet Explorer nunca más pida hacer click:
http://d01.megashares.com/?d01=2bdb329
Interesante desde el punto de vista del cliente, pero inútil para los que desarrollamos webs. No puedes basar tu diseño en si fulanito ha instalado un parche o no... debes diseñar de forma lo más standard posible y de acuerdo a las estadísticas de uso de los navegadores...
Publicar un comentario