2010-09-03 11 views
6

Me he dado cuenta de este error al desarrollar mi aplicación flash en una plataforma de Windows. Si escribe texto en un cuadro de texto en un swf Flash ejecutado en el navegador Safari 5 en Windows y luego presiona la tecla de retroceso, el navegador saltará a la página anterior en el historial en lugar de realizar la función que se supone que retrocede - aquí hay un enlace a otro informe de este insecto manzana -Error de Windows Safari 5 cuando se utiliza el retroceso en una aplicación web Flash

http://www.ruelke.org/blog-entry-138.html

¿Cómo podemos solucionar este problema manzana? vítores

Respuesta

2

Lo embed está usando? Intenta configurar wmode en opaco. Existen numerosos errores de entrada de teclado cuando se usa wmode transparent.

+1

Esta solución funciona. – Robusto

+0

Sí, estoy usando wmode transparent ... gracias, lo intentaré. – undefined

0

¿A qué versión del reproductor flash está apuntando? Me di cuenta de que el enfoque del teclado se trata de manera diferente cuando se publica desde CS5.

0

Puede usar JavaScript para activar el evento clave antes de que safari lo maneje. Sé en el correo de yahoo (bastante irritantemente) cntrl-w cierra una pestaña de correo, no la pestaña actual.

Algo como esto para el evento de pulsación de tecla:

function preventBackspace(e) { 
    var evt = e || window.event; 
    if (evt) { 
     var keyCode = evt.charCode || evt.keyCode; 
     if (keyCode === 8) { 
      if (evt.preventDefault) { 
       evt.preventDefault(); 
      } else { 
       evt.returnValue = false; 
      } 
     } 
    } 
} 

tomado de here

+0

Esto no funciona. Acabo de encontrar este error e intenté matar la propagación del evento. Se mata en el nivel de componente y no se desencadena en el nivel de la aplicación (como tampoco debería ser) pero llega a Safari. Establecer wmode = "opaque" resuelve el problema, sin embargo. – Robusto

Cuestiones relacionadas