2012-06-08 12 views
6

Estoy trabajando en un juego basado en lienzo y estoy usando window.addEventListener() para adjuntar eventos keyup y keydown en todo el mundo. Esto funciona cuando se ve la página normalmente, pero cuando se incorpora como un iframe; no obtiene los eventos de keyup y keydown. ¿Hay una mejor manera de que pueda hacer esto?catch-all keyup/keydown events en iframe?

Respuesta

1

Parece que solo puede hacer var realWindow = window.parent || window; y usar addEventListener en realWindow en su lugar.

+1

Esto solo funcionaría si la página externa que incrusta el marco proviene del mismo dominio (sitio web). –

1

No se puede, a menos que el marco tenga el foco.

Lo que puede hacer es hacer una keydown en la ventana externa centrar el marco flotante, o de alguna manera siempre enfocar el marco flotante, o enfoque del marco flotante por defecto (que podría ser lo suficientemente bueno, no está seguro de lo que estás haciendo)

Pero para que la ventana clave para disparar en cualquier ventana (marco o no) ese cuadro necesita enfoque.