如何确保在Firefox桌面浏览器中启用触摸事件
How to make sure touch events are enabled in Firefox desktop browser?
我在带有触摸功能的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)
在chrome中,"touchstart"得到了确认。在IE中,"向下指向"被确认。在Firefox中,'mousedown'被确认。
在排除故障后,我最终不得不在Firefox中找到"about:config"和更改dom.w3c_touch_events。"Enabled"取值范围为0 ~ 1。这会导致"touchstart"在Firefox中被确认。
我的问题是:
这不是应该已经在可触摸的机器上启用了吗?IE和Chrome配置正确,而Firefox没有。(这是全新下载的Firefox 31)。
在这种情况下,是否可以远程启用触摸事件,以便Firefox的行为与其他浏览器相似?谢谢
为了在桌面版Firefox中启用触摸事件,在浏览器的地址栏中输入"about:config",点击"我会小心的,我保证!"按钮,向下滚动直到找到"dom.w3c_touch_events"。启用"…当您单击此项目时,将出现一个对话框,允许您更改设置的值。
disable=(0) enable=(1) autodetect =(2)
默认情况下应该设置为"自动检测",但是目前,由于一些bug,桌面版Firefox设置为"禁用"。
关于这个设置的信息可以在这里找到:https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Touch_events
摘录:
dom.w3c_touch_events。启用三状态偏好可用于禁用(0),启用(1)和自动检测(2)对标准触摸事件的支持;默认情况下,它们处于自动检测状态(2)。更改首选项后,必须重新启动浏览器才能使更改生效。
注意:从Gecko 24.0开始,Gecko 18.0引入的触摸事件支持在桌面版Firefox上被禁用,因为包括Google和Twitter在内的一些流行网站无法正常工作。一旦错误修复,API将再次启用。
包括Firefox for Android和Firefox OS在内的移动版本不受此更改影响。此外,该API已在Windows 8的metro风格版本的Firefox上启用。
触摸事件目前在Firefox(版本48.0.1)中不工作,但可以通过浏览about:config并设置dom.w3c_pointer_events来启用指针事件。enabled to true。传递给处理程序的事件对象将包含一个带有"touch"值的pointerType属性,如果它是一个触摸事件。
见:https://mobiforge.com/design-development/html5-pointer-events-api-combining-touch-mouse-and-pen
在Firefox 72中有一个dom.w3c_touch_events.legacy_apis.enabled
事件配置选项。默认是关闭的。打开它可以帮助一些网站实现基于触摸的拖放操作。尤其是Atlassian Jira
- 如何使用javascript检测触摸设备浏览器与桌面
- @媒体查询在桌面浏览器中有效,而在移动浏览器中无效
- 安卓版本的代码不像桌面互联网浏览器那样工作
- 将用户重定向到 Windows 8 中的桌面浏览器
- Google Maps Javascript API v3 地图显示在桌面浏览器上,但不会显示在移动浏览器上
- 在普通桌面浏览器中测试时,如何将sqlite与cordova一起使用
- 与桌面浏览器兼容的HTML5移动框架
- 响应式设计适用于桌面浏览器、移动模拟器(Safari和Mozilla Firefox),但不适用于真正的智能手机(And
- 如何以最大的兼容性检测桌面和移动浏览器的宽度
- 如何使用jquery区分桌面浏览器尺寸1024px和平板电脑尺寸1024px
- 为什么 Jquery 移动显示移动友好在桌面浏览器上看起来很友好
- 桌面Chrome&Firefox浏览器
- 浏览器非桌面时禁用Javascript功能
- 桌面浏览器检测Javasctipt
- 如何在桌面浏览器上测试手势
- 砌体在移动浏览器(chrome)上不起作用,并且仅在Chrome桌面版本上有效,如果我重新加载(ctrl + f5)页面
- 桌面小部件使用的 $.getJSON 不会从浏览器请求 URL
- 将图像从桌面拖放到浏览器,而不是通过输入进行搜索
- 如何在网页中添加两个CSS文件,一个用于Safari浏览器,一个用于iPad桌面版本
- 如何检测浏览器是桌面浏览器还是移动设备?我想使用Java,但不想使用WURFL