Обнаружение, когда элементы окна чата Facebook / холста перехватывают фокус

Я работаю над игрой, основанной на управлении клавиатурой для Facebook. Он запускается в iFrame. Проблема, с которой мы сталкиваемся, заключается в том, что когда игрок получает сообщение, отправленное ему через чат, оно отвлекает внимание от игры. Это не обнаруживается с помощью Event.DEACTIVATE в AS3.

Это заставляет меня поверить, что функция javascript будет единственным ответом. Я пытался использовать команды onblur и focusout, но мне не удалось запустить функцию. Я предполагаю, что из-за собственной ошибки в программировании команды. Я пробовал так много разных способов заставить это работать, что у меня нет кода, который я пробовал.

У кого-нибудь есть опыт определения фокуса? Я знаю, что Tetris Battle на Facebook делает это и что это возможно.

Мне бы хотелось получить некоторые рекомендации о том, что должно работать для этого приложения, и пример кода, чтобы я не мог его испортить.


person Stuart Saunders    schedule 13.01.2012    source источник
comment
Может помочь дополнительная информация о вашей среде. Например, ваш IFRAME может что-то испортить, если он запущен из другого домена (хотя я сомневаюсь, что это верно для приложений FB). Попробуйте шаг за шагом - получите (возможно, js) код для обнаружения размытия, работающего без IFRAME. Является ли ваш swf единственной вещью в IFRAME или у него есть оболочка HTML? Если оболочка, обработайте код js, чтобы обнаружить размытие страницы?   -  person Mark Robbins    schedule 14.01.2012
comment
Вы на правильном пути. События фокусировки и размытия — это то, что нужно. См. аналогичный вопрос здесь: stackoverflow.com/questions/8138105 /проверить системный фокус/. Держу пари, что ваши проблемы связаны с междоменными связями из-за IFRAME. Комментарии Марка хорошие. Начните с простого и заставьте его работать, затем снова добавьте IFRAME.   -  person James Tomasino    schedule 14.01.2012
comment
Спасибо, ребята, я попробую еще раз, когда у меня будет время на следующей неделе. Спасибо за ответы.   -  person Stuart Saunders    schedule 15.01.2012
comment
Было ли это когда-нибудь решено? Я столкнулся с похожей проблемой и хотел бы узнать, решили ли вы ее.   -  person Jonatan Hedborg    schedule 16.04.2012