Я изучал, как можно использовать Javascript для прямой фокусировки на Flash-фильм. Я видел это на Stack Overflow и других сайтах, и кажется, что вы не можете сделать это надежно, кроме как в Internet Explorer. Я просто вызываю метод .focus () для объекта Flash через Javascript.
На самом деле он работает в Internet Explorer, но мне не нравится его поведение в Firefox или других браузерах. По сути, у меня есть поле для входа в систему с именем пользователя и паролем ВНУТРИ моего Flash-фильма, и я хочу выделить его, когда загружается Flash-фильм, так что вы можете начать вводить свое имя пользователя немедленно, без необходимости сначала щелкать поле.
Проблема с Firefox заключается в том, что он не только не устанавливает фокус, вы можете ВИДЕТЬ мигающий курсор внутри поля во Flash, что действительно указывает на то, что поле имеет фокус. Тем не менее, вы все равно должны нажать.
Это контрпродуктивно в Firefox. Я бы даже не пытался установить фокус, если это поведение. Конечно, я мог бы проверить, какой браузер используется, и определить, нужно ли вообще вызывать .focus (), но эта функция может измениться в более поздних версиях Firefox. Я хотел бы иметь лучшее решение, которое бы:
- Запомните текущий фокус перед динамическим добавлением фильма Flash на страницу (так я делаю, фильм не отображается как часть начальной загрузки страницы).
- Попытка установить фокус на фильм Flash.
- Проверьте, правильно ли установлен фокус, поэтому я могу ожидать, что фильм Flash получает нажатия клавиш без дополнительного щелчка.
- Если фокус не был установлен, вернитесь к тому, что было сфокусировано до загрузки видеоролика Flash.
Я не уверен, как (или если) это можно сделать, но я хотел бы узнать. Я думаю, что document.activeElement может быть полезен, но я не смог далеко продвинуться в этом. Спасибо за любую помощь!