Потеря фокуса в приложении и возможное решение этой проблемы

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Потеря фокуса в приложении и возможное решение этой проблемы

Сообщение sanych_dv »

Думаю, все создатели игр сталкивались с потерей фокуса flash-ролика на странице и последующей невозможностью использовать события клавиатуры. (для того, чтобы вернуть фокус, необходимо кликнуть на ролике, а это плохое решение).

Я пробовал решить эту проблему со стороны флэша, но получилось с другой стороны:

(Тестировалось только вконтакте, SWF находится в своем IFRAME):

Код: Выделить всё

 <script src="jquery-1.7.1.min.js" type="text/javascript"></script><script src="swfobject.js" type="text/javascript"></script> <script type="text/javascript">swfobject.embedSWF("myapp.swf?nocache=123456789", "flashContent", "827", "650", "11.0.0", "express_install.swf", false, {quality:'high', scale:'showall', allowscriptaccess:'always', allownetworking:'all', wmode:'opaque', flashvars:query }, {style:'display:block;margin:auto;', id:'myapp'});  function vkOnBlur() {var swf =  swfobject.getObjectById('myapp');setTimeout(function() { swf.tabIndex = 0; swf.focus(); }, 10);}  if(document.addEventListener){window.addEventListener("blur", vkOnBlur, true); }</script> 
Пример работающего приложения: http://vk.com/petr_drive
Ответить