Buscar en el sitio

Contacto

Danny

962318754

blackorwhite_dm@hotmail.com

Solucion a "Pinche aquí para activar este control"

03.11.2010 01:52

on el nuevo internet explorer 7 y el ultimo update del internet explorer 6, los objetos embebidos dentro del html (flash, quicktime, activex, etc.. ) de las paginas han dejado de activarse de forma automática, mostrando un mensaje y requiriendo que el usuario pinche en el control para activarlo.

La solución oficial es referenciar un script externo y en el mediante document.write escribir el código html que muestra el objeto.

Para facilitar esta labor he encontrado dos soluciones:

Sacado de https://www.amarasoftware.com/flash-problem.htm

Al final de la pagina ( o después de los flash, porque el javascript se ha de ejecutar después de que se hayan insertado los objetos incrustados en la pagina) se referencia a un javascript que contiene el siguiente código:

objects = document.getElementsByTagName("object");
for (var i = 0; i <; objects.length; i++)
{
    objects[i].outerHTML = objects[i].outerHTML;
}

El javascript rescribe todos los objetos de la pagina, y estos se inicializan automáticamente. Esta solución es ideal para mantener la funcionalidad de forma sencilla en las paginas que ya están funcionando, incluyendo este código en el pie de pagina funcionaran todos los flashes que haya en el sitio web.

La segunda solución esta sacada de https://blog.deconcept.com/swfobject/ y consiste en una librería en javascript. Se instancia un objeto, se le asignan las propiedades y se ejecuta un metodo que sustituye un div por el código del objeto flash. La principal ventaja de esta librería es que facilita la comprobación de versión del flash del cliente, la instalación en caso de que no lo tenga, y sobre todo, el proveer de un contenido alternativo a quien no tenga instalado flash. (por poner un ejemplo, unos señores conocidos como google o yahoo.)

Ej.

<;div id="NoFlashContent">;
Contenido para quien no tenga flash
- navegación alternativa
<;/div>;