|
|
|||||
Регистрация: Jul 2004
Сообщений: 113
|
MouseEvents под Firefox
Сегодня обнаружил что в Firefox как-то не так стала работать обработка событий мыши.
Во всех браузерах кроме мозиллы работает так: Включаю обработку событий MouseMove, MouseDown и MouseUp на stage. Делаю MouseDown и тащу мышку за пределы флэшки, отпускаю мышу за ее пределами и вижу что пока тащил с зажатой кнопкой то mouseMove обрабатывается и показывает координаты выходящие за пределы флэшки, а также срабатывает событие на MouseUp. В фаерфоксе же как только мышь ушла за пределы флэшки, то отлов событий полностью прекращается.. ни координаты не ловит, ни отпускание мыши. Раньше все было в порядке. Кто нибудь знает почему такое начало происходить и как с этим бороться? Добавлено через 36 часов 57 минут вижу что никто не поддержал беседу... На случай если кто-нибудь столкнется с этой проблемой, вот как ее решил я: В html страничке вписываем скрипт для отлова событий мыши из браузера и через ExternalInterface перенаправляем в флэшу. В самой флэшке в отдельном классе функции принимают эти данные и уже транслируют через dispatchEvent стандартные MouseEvents с правильными значениями позиций и соответственно факт нажатия mouseUP, который сама флэша как я писал выше в фаерфоксе не ловила. Ну а по коду приложения там где я раньше ловил стандартные флэшовые MouseEvents, теперь просто подписываюсь на эти же события, но в своем классе, который ловит браузерные события. Метод работает отлично в любых браузерах, но для себя я на всякий случай сделал так, что флэшка проверяет в каком браузере запущена и если в FireFox, то слушает события из собственного класса, а если другой браузер, то слушаем стандартные события.
__________________
Играем в браузерный онлайн 3D бильярд тут - http://billiards3d.net |
|
|||||
Регистрация: Jul 2004
Сообщений: 113
|
у меня специфика такая, что игрок зажимает кнопку мыши в пределах приложения, ведет мышку по экрану и если мышка ушла за пределы флэши то содержимое должно продолжать реагировать вплоть до отпускания кнопки мыши. Это замечательно работало до поры до времени во всех браузерах, но недавно в фаерфоксе перестало работать. тоесть мышка уходит за пределы флэши и все.. маусмув не отлавливается и если отпустить кнопку мыши за пределами приложения, то mouseup тоже не ловился...
Вообще после нескольких дней танцев с бубном я убедился в том, что проблема эта вопервых только на десятой винде.. на семерке все замечательно работает... а в десятке проблема проявила себя начиная с 48 версии мозиллы... на 47 тоже все отлично работает... а вот на 48 мало того, что не работает отлов событий флэши за пределами флэши, так еще и события браузера не работают Над флэшой... тоесть за пределами флэшки отлчно пашут браузерный mousemove и mouseup, а флэшовые нет, и наоборот.... при этом на 49 версии мозиллы флэшовая проблема сохраняется (под 10 виндой), а браузерные ловит по всему документу.. и за флэшкой и на флэшке.... в итоге я для себя сделал проверку что если браузер мозиллы под 10 винду и версия у него 48, то тупо не пускать в приложение и просить обновить браузер.. а для 49 и выше версии применяю выше описаный способ - пуляю браузерные события в флэшку через External Interface.... интересно что в седьмой винде как раз браузерные события не работают над флэшкой, но флэшовые работают за пределами флэшки.... в итоге получается что на 7 винде я ничего не трогаю и даю флэшке обрабатывать свои события, а на десятке переключаюсь на отлов javascript браузерных начиная с 49 версии мозиллы.. для остальных браузеров ничего не делаю так как флэшка там нормально работает. Такие вот танцы с бубном.
__________________
Играем в браузерный онлайн 3D бильярд тут - http://billiards3d.net |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
и еще направление вращения колеса в фоксовом js инвертировано по сравнению с конкурентами(в семерке по крайней мере).Так до кучи
|
|
|||||
Регистрация: Jul 2004
Сообщений: 113
|
оказывается не у всех в семерке на 49 версии все хорошо...гадский Firefox своей жизнью живет
__________________
Играем в браузерный онлайн 3D бильярд тут - http://billiards3d.net |
|
|||||
Всегда был уверен, что фаерфокс это один из самых дурацких браузеров. Мне он тоже кучу проблем доставляет. Он даже хуже IE
Но колесо в нем на семерке не инвертировано) С этим у меня все норм
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Регистрация: Jul 2004
Сообщений: 113
|
фаерфокс и IE это по сути единственные браузеры, которые до сих пор 3д играют через dirextX, а не через openGL, как все остальные браузеры, которые перешли на PPAPI,.. в этом плане для 3д они лучше, потому как картинка плавнее, фпс больше и нет дебильных дерганий какие в изобилии дает хром и все хромиум выкидыши котрые в рот гуглу смотрят. Раньше опера отлично для этого подходила, но теперь и она на хромиуме со всеми вытекающими последствиями.
__________________
Играем в браузерный онлайн 3D бильярд тут - http://billiards3d.net |
Часовой пояс GMT +4, время: 15:27. |
|
« Предыдущая тема | Следующая тема » |
|
|