2010-07-25 9 views
7

¿Hay alguna manera de detectar bloqueos flash-plugin en los principales navegadores (firefox, es decir, cromo, safari y ópera) a través de javascript?Detectar bloqueos del complemento FLASH

+0

Curioso como lo que intenta lograr con la detección. – Codex73

+0

¿Le gustaría actualizar la página? –

Respuesta

0

Tal vez podría utilizar un guión mantener vivo en su archivo as3 que habla con la página js, si el js no recibe una llamada durante unos segundos, puede tener tiempo de espera y manejarlo como un flash-crash .

8

No estoy seguro de si eso funciona o no. Puede obtener periódicamente una referencia al objeto flash y verificar si tiene el método SetVariable.

function checkFlashCrashed() { 
    try { 
     var tmp = document.getElementById("flashObjectId").SetVariable; 
     if(!tmp) { 
     alert("Flash crashed"); 
     return; 
     } 
    } catch (e) { 
     alert("Flash crashed"); 
     return; 
    } 
    setTimeout(checkFlashCrashed, 1000); // check it out every one second 
} 

SetVariable es una función de interfaz que se puede llamar desde el código de Javascript. Si el flash se bloquea, su interfaz también se bloqueará. Por lo tanto, esa puede ser una solución.

+0

No funciona ... – Nabab

+0

+1. Funciona como un encanto con Chrome 23.0.12.71. Lamentablemente, OP era un novato/troll. –

+0

Esto parece una respuesta válida y correcta, pero a OP aún no le importa :). – Zafer

1

Utilice el manejo de excepciones globales en ActionScript para llamar a una interfaz externa en UncaughtErrorEvent.UNCAUGHT_ERROR.

Cuando se produce un error en el tiempo de ejecución de Flash Player, puede detectar la excepción y señalizar JavaScript.

+1

Sí, pero ¿qué pasa si no tienes acceso al código de tu reproductor? Por ejemplo: el reproductor de youtube se bloquea en la página, ¿cómo detectarlo? – Skay

0

Depende de cómo se sienta acerca de los falsos positivos.

Puede tener un perro guardián que hace una llamada ajax "El flash no se ha colgado", si el flash parece funcionar todavía. Y asume que el flash se ha bloqueado si no está escrito. Esto creará falsos positivos si el usuario cierra la página antes del control.

Puede tener un perro guardián que haga una llamada ajax "El flash se ha colgado", si el flash parece no funcionar. Esto perderá bloqueos, como un bloqueo que matará a todo el navegador con él.

Tal vez puedas tener ambos perros guardianes para que tengas una mejor idea de lo que está pasando.

Cuestiones relacionadas