铬队改弦更张,将采用IE的合并鼠标,触摸APIs

两天前,Google Chrome软件工程师Rick Byers转发了微软Web开发者倡导者Rey Bango发布的Chrome和微软浏览器团队成员在啤酒上进行社交聚会的照片。照片上贴着标题,证明微软和谷歌浏览器团队彼此相爱。今天,拜尔斯在Blink渲染引擎的铬开发者邮件列表上宣布,在Blink中采用微软Internet Explorer的指针事件API的时候到了,这显示了他更多的爱。

进一步准备最终确定的指针事件,但苹果仍然缺乏支持。指针事件API将所有触摸、鼠标和触笔与浏览器的交互组合成一组可编程事件。它从IE 10开始在Internet Explorer中实现,也得到Mozilla的Firefox团队的支持(尽管它目前仅在Windows Metro 版本的浏览器上实现)。但去年,尽管曾是W3C指针事件工作组的成员,Chrome团队已宣布不支持统一指针事件API,而是继续为硬件指针设备和触摸开发单独的API。苹果的Safari团队坚决反对微软的做法,至少到目前为止是这样。

对于开发人员来说,拥有一个API来统治所有的指向是非常有吸引力的。当从微软API演变出来的指针事件规范在二月份成为W3C的推荐标准时,jQuery UI项目负责人Scott Gonzalez对它对Web开发人员意味着什么非常热情。我们喜欢指针事件,因为它们支持当今所有常见的输入设备鼠标、笔/触笔和手指,但它们的设计方式也使得未来的设备可以轻松添加,现有的代码将自动支持新设备,他在W3C发布后不久于2月下旬的博客文章中写道。但如果没有Google的支持,规范周围的临界质量就不足以让开发人员过于兴奋。

不使用单一API有一些原因。首先,不是每个浏览器都需要同时支持三种交互;例如,没有理由在只在触摸设备上运行的浏览器中实现鼠标事件。触摸事件与鼠标移动和鼠标点击是非常不同的交互形式。

在Internet Explorer使用的指针事件的当前实现中,正如Byers所指出的那样,当前定义的指针事件需要对每个指针进行命中测试,即每次鼠标移动或用户手指从屏幕上的一个位置移动到另一个位置。Byers说: 这给引擎带来了性能成本,而主要的本地移动平台和浏览器没有这种成本,因此可能需要与已经实现API的其他人合作来识别一些(可能是中断的) API更改,以允许我们在默认情况下避免这种接触成本。

要做到这一点,虽然不会显著破坏页面在浏览器与浏览器之间对触摸的反应的兼容性,但这将是一个挑战——这可能是苹果Safari团队选择继续为鼠标和触摸使用单独APIs的原因。而且它不会很快被推出Chrome浏览器的任何版本,因为要想出一个适用于Android、Android WebView、ChromeOS、Windows、Mac OS和iOS的实现将需要一些时间。

Copyright © 2017 pk10冠亚军和值计划 版权所有

导航

关闭

欢迎访问