【问题标题】:Where did the Text Selection API go?文本选择 API 去哪儿了?
【发布时间】:2011-11-20 06:05:34
【问题描述】:

两年前,HTML5 标准删除了“文本选择 API”一章,其中包含 Selection 接口的规范:

[Stringifies] interface Selection {
  readonly attribute Node anchorNode;
  readonly attribute long anchorOffset;
  readonly attribute Node focusNode;
  readonly attribute long focusOffset;
  readonly attribute boolean isCollapsed;
  void collapse(in Node parentNode, in long offset);
  void collapseToStart();
  void collapseToEnd();
  void selectAllChildren(in Node parentNode);
  void deleteFromDocument();
  readonly attribute long rangeCount;
  Range getRangeAt(in long index);
  void addRange(in Range range);
  void removeRange(in Range range);
  void removeAllRanges();
};

请看这里:http://www.w3.org/TR/2009/WD-html5-20090423/editing.html#selection

我记得在另一个标准中遇到过这个接口,但我忘记了是哪一个。谁能刷新我的记忆?

【问题讨论】:

    标签: javascript html interface selection


    【解决方案1】:

    它已移至 WHATWG 的 DOM Range spec。该文档的 Range 部分最近(上周左右)已迁移到 W3C 的 DOM4 spec

    这使得 WHATWG Range 规范处于被误导性命名的位置。我不确定是否有计划再次移动选择的东西,但我不会打赌。

    2013 年 2 月更新

    目前可以在HTML Editing APIs spec 中找到规范的选择部分。

    【讨论】:

    • 啊,是的,就是这样。顺便说一句,如何查看html5.org/specs 文件夹中的规格列表?我真的需要Google search吗?
    • 顺便说一句,您可能知道Selection 接口的浏览器实现状态是什么吗? (哪些浏览器实现了它)
    • @Šime:我不记得我是否在某个地方见过,但我现在找不到。我发现的最好的是platform.html5.org
    • @Šime:所有主流浏览器的当前版本都实现了Selection 接口的大部分,尽管有一些变化(modify() 是一个相对较新的添加并且没有得到很好的支持,extend()同样,在 IE 9 中不受支持,toString() 的实现不一致,在许多情况下与规范不匹配,可能还有许多其他问题)。规范本身存在一些突出问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 2011-03-03
    • 2014-03-15
    • 2015-07-17
    • 2012-10-30
    • 2013-05-23
    相关资源
    最近更新 更多