Movatterモバイル変換


[0]ホーム

URL:


W3C

振动接口

W3C 推荐标准

该版本:
http://www.w3.org/TR/2015/REC-vibration-20150210/
最新发布版本:
http://www.w3.org/TR/vibration/
最新编辑草案:
http://dev.w3.org/2009/dap/vibration/
测试套件:
http://w3c-test.org/vibration/
实现报告:
http://w3c.github.io/test-results/vibration/20141118.html
历史版本:
http://www.w3.org/TR/2014/PR-vibration-20141209/
编辑:
Anssi Kostiainen, Intel
译者:
张立理
吕康豪
张志强
译者声明:
本规范的英文版本是其唯一标准版本。 其他翻译版本包括该译文都是参考性的。
虽然译者力求翻译准确,错误仍在所难免,欢迎指正。

请参阅本规范的勘误表,其中包括本规范自最新发布以来所发现的错误或者缺陷。

Copyright © 2015W3C® (MIT,ERCIM,Keio,Beihang), All Rights Reserved.W3Cliability,trademark anddocument use rules apply.


摘要

本规范定义了一个接口,它提供了访问托管设备的振动机制。振动是一种触觉反馈。

本文档状态

本节描述本文档发布时状态,其他文档可能取代本文档。W3C 最新发布的技术报告, 以及本技术报告的最新版本, 参见W3C 技术报告索引: http://www.w3.org/TR/

自发布提案推荐标准以来,本文档没有任何新的改变。

W3C 期望通过发布该推荐标准,其所规范的功能不受 Web IDL 规范通往推荐标准的过程所影响。

本文档代表该小组在振动接口这一范围和特性的共识。应当指出的是,工作组意识到了 无法使用这一简单的第一个版本规范来实现更先进的使用案例。留待未来的修订来解决它们。

本文档由设备接口工作组发布为推荐标准。 关于本文档的任何反馈意见,请发送至工作组邮件列表:public-device-apis@w3.org订阅,归档)。 欢迎反馈。

请参阅工作组的实现报告

本文档已由W3C 成员、软件开发者、W3C 工作组和有关各方审阅,并由W3C 理事会批准为推荐标准。 此为稳定的文档,可以用作参考文献或从另一个文件中引用。W3C 制定推荐标准的任务是使之受到关注,并促使其被广泛使用。这将增强 Web 的功能性与互操作性。

本文档由一个遵循2004年2月5日W3C 专利政策的小组创作。W3C 维护着一个与工作组交付产品相关的已公开的专利列表;该列表页面还包括如何公开一项专利的说明。 对某专利拥有实际知识并相信该专利包含了基本要求的个人,必须根据W3C 专利政策第6节的要求公开这些信息。

本文档受制于2005年10月14日W3C 过程文档

目录

1.引言

本章节不具有规范性。

振动接口专门设计用于仅需简单触觉反馈的用例场景。那些需要细粒度控制的用例场景超出了本规范的范围。 该接口并非用于通用的通知机制。通用的通知可使用通知接口 [NOTIFICATIONS] 规范来处理。此外,决定是否启用振动也超出了本规范的范围。

2.一致性

像其他不具有规范性的章节一样,本规范中所有指导方案、图表、示例以及注解都不具有规范性。 本规范中其余部分均具有规范性。

关键词可以必须的释义由 [RFC2119] 进行解释。

本规范所定义的一致性标准条件仅适用于实现了规范所包含接口的用户代理

由于本规范使用了 WebIDL 规范及其术语,因此如果使用 ECMA 脚本对本规范定义的应用程序接口进行实现, 则必须保持实现与 ECMA 脚本绑定定义的 WebIDL 规范 [WEBIDL] 相一致。

3.术语

browsing context spin the event loop 的概念由 [HTML5] 规范定义。

4.振动接口

typedef(unsigned long or sequence<unsigned long>)VibratePattern;

partial interfaceNavigator {booleanvibrate (VibratePatternpattern);};

当调用vibrate() 方法时,必须运行processing vibration patterns 算法。

processing vibration patterns 的算法的规则描述如下:

  1. patternvibrate() 方法的第一个参数。
  2. valid patternpattern 参数进行validate and normalize 的结果。
  3. 如果 hidden 属性值 [PAGE-VISIBILITY] 设置为 true,则返回 false 并终止所有步骤。
    可信(也称授权)应用程序因为与操作系统功能集成紧密,即使完全不可见,也可能产生设备振动, 因此可以忽略前述步骤。
  4. valid patternPerform vibration

validate and normalize 某一给定的振动模式pattern,运行这些步骤:

  1. 如果pattern 是一个列表,则进入下一步。否则运行以下子步骤:
    1. list 为一个空的列表,并将pattern 加入到list 中。
    2. pattern 的值为list
  2. max length 为实现相关的pattern 的最大长度值。
    如果模式的长度大于最大长度,该接口的实现可以考虑将此振动请求有效地分解成多个内部短请求, 来实现同样的效果,而不是忽略最大长度后面的请求。 然而,有些情况下忽略模式超过最大长度的部分是合时的。 一个例子是,如果长度太长,将会有效地创建一个拒绝服务攻击用户。 如果已知对某 web 应用程序来说某个长度太长时,该应用程序也可能采用多个请求; 模式之间可能存在的差距是可以接受的。
  3. 如果pattern 长度大于max length,截断pattern,仅保留前max length 项。
    如果pattern 的长度是偶数并且非零,那么模式中的最后一项就会没有效果,因此实现可以在此从pattern 中将之删除。
  4. max duration 为实现相关的pattern 中单个振动项的最大持续时间值。
  5. pattern 中所有的持续时间值大于max duration 的项,设置其值为max duration
  6. 返回pattern

为使用patternperform vibration ,运行这些步骤:

  1. 算法的实现可以在此返回 false 并终止这些步骤。
    例如,用户设置了某些域的页面不得使设备振动,或者振动的总时间长度超过了页面允许的最大值从而拒绝振动请求,这些情况下算法实现可以停止算法运行。
  2. 如果已经存在perform vibration 的算法实例,那么运行下列子步骤:
    1. 中止任何其他正在perform vibration 的实例。
    2. 如果pattern 是一个空列表,包含单独一项的值为 0,或者该设备不能振动,那么返回 true 并且终止这些步骤。
  3. 返回 true,然后继续异步执行后续步骤。
  4. 对于pattern 中的每一项,设其为time,运行以下子步骤:
    1. 如果time 对应的索引为偶数(第一项的索引为 0 ),控制设备振动time 毫秒。
    2. 否则等待time 毫秒。

Documentbrowsing context 上的 visibilitychange 事件 [PAGE-VISIBILITY] 触发时,用户代理必须 终止所有已经在运行的processing vibration patterns 算法。

5.示例

本章节不具有规范性。

以下演示如何让设备振动 1 秒:

示例 1
// 振动 1 秒navigator.vibrate(1000);// 或者navigator.vibrate([1000]);

以下演示如何让设备先振动 50 毫秒,再停止 100 毫秒,再振动 150 毫秒:

示例 2
navigator.vibrate([50,100,150]);

以下演示如何取消振动:

示例 3
// 取消所有振动navigator.vibrate(0);// 或者navigator.vibrate([]);

A.致谢

工作组非常感谢 Justin Lebar、Mounir Lamouri、Jonas Sicking 和 Mozilla WebAPI 团队的贡献和提供 WebVibrator 原型作为初始输入。 感谢 Anne van Kesteren 建议如何使规范重用于其他文档。

B.参考文献

B.1规范性参考文献

[HTML5]
Ian Hickson; Robin Berjon; Steve Faulkner; Travis Leithead; Erika Doyle Navara; Edward O'Connor; Silvia Pfeiffer.HTML5. 28 October 2014. W3C Recommendation. URL:http://www.w3.org/TR/html5/
[PAGE-VISIBILITY]
Jatinder Mann; Arvind Jain.Page Visibility (Second Edition). 29 October 2013. W3C Recommendation. URL:http://www.w3.org/TR/page-visibility/
[RFC2119]
S. Bradner.Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL:https://tools.ietf.org/html/rfc2119
[WEBIDL]
Cameron McCormack.Web IDL. 19 April 2012. W3C Candidate Recommendation. URL:http://www.w3.org/TR/WebIDL/

B.2信息性参考文献

[NOTIFICATIONS]
Anne van Kesteren.Notifications API. Living Standard. URL:https://notifications.spec.whatwg.org/

[8]ページ先頭

©2009-2025 Movatter.jp