Как убедиться, что сенсорные события включены в браузере Firefox?
Я использовал простой тест на рабочем столе Windows 7 с сенсорными возможностями.
Для простоты это было примерно так:
temp_div.addEventListener('touchstart', function(e){ /*confirm */ }, false)
temp_div.addEventListener('pointerdown', function(e){ /*confirm */ }, false)
temp_div.addEventListener('mousedown', function(e){ /*confirm */ }, false)
В хроме подтвердили "touchstart".
В IE было подтверждено "pointerdown".
В Firefox подтвержден "mousedown".
После устранения неполадок мне в конечном итоге пришлось перейти в "about: config" в Firefox и
измените значение "dom.w3c_touch_events.enabled" с 0 на 1. Это вызвало подтверждение "touchstart" в Firefox.
Мои вопросы таковы:
Разве это не было разрешено на сенсорной машине?
IE и Chrome были настроены правильно, а Firefox - нет. (Это была новая загрузка Firefox 31).
В любом случае, чтобы включить события касания удаленно в таком случае, чтобы Firefox действовал аналогично другим браузерам?
Спасибо
Ответы
Ответ 1
Чтобы включить события касания в настольной версии Firefox, введите "about: config" в адресную строку браузера, нажмите "Я буду осторожен, я обещаю!". и прокрутите вниз до тех пор, пока вы не найдете "dom.w3c_touch_events.enabled".... при нажатии этого элемента появится диалоговое окно, которое позволит вам изменить значение параметра.
disable = (0) enable = (1) auto-detect = (2)
По умолчанию должно быть установлено "автообнаружение", но в настоящее время версия Firefox для настольных компьютеров установлена на "отключить" из-за некоторой ошибки.
Информацию об этой настройке можно найти здесь:
https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Touch_events
выдержка:
Предпочтение три-состояния dom.w3c_touch_events.enabled может использоваться для отключения (0), включения (1) и автоматического обнаружения (2) поддержки стандартных событий касания; по умолчанию они автоматически обнаруживаются (2). После изменения предпочтения вы должны перезапустить браузер, чтобы изменения вступили в силу.
Примечание. Начиная с Gecko 24.0 поддержка сенсорных событий, представленная с помощью Gecko 18.0, отключена на настольной версии Firefox, так как некоторые популярные сайты, включая Google и Twitter, работают некорректно. Как только ошибка будет исправлена, API снова будет включен.
Эти изменения не повлияют на мобильные версии, включая Firefox для Android и Firefox. Кроме того, API был включен в версии Firefox Firefox для Windows 8.
Ответ 2
В настоящее время в Firefox не работают сенсорные события (версия 48.0.1), но можно активировать события указателя, просмотрев about:config и установите для параметра dom.w3c_pointer_events.enabled значение true. Объект события, переданный вашему обработчику, будет содержать свойство pointerType со значением "touch", если это событие касания.
Смотрите: https://mobiforge.com/design-development/html5-pointer-events-api-combining-touch-mouse-and-pen