StaticRange - 不会跟着 DOM 树更改的内容范围

StaticRangeDOM 的接口,继承了 AbstractRange,提供了一种方法来指定 DOM 中的内容范围,这些内容不会跟着 DOM 树的更改而更改。它提供与 AbstractRange 相同的属性和方法集。

AbstractRangeStaticRange网络工作线程 中不可用。

构造函数

StaticRange()

使用给定的 StaticRangeInit 字典,创建一个新的 StaticRange 对象。

属性

以下属性是从其父接口 AbstractRange 继承的。

StaticRange.collapsed 只读

返回一个布尔值,如果范围的开始和结束位置相同,则它为 true,同时长度范围为 0。

StaticRange.endContainer 只读

返回包含范围终点的 DOM Node。终点位置所在节点的偏移量由 endOffset 指示。

StaticRange.endOffset 只读

返回一个整数值,该值指示到 endContainer 给定的节点的偏移量,在该节点上找到范围的最后一个字符。

StaticRange.startContainer 只读

返回一个 DOM Node,该 DOM 包含范围的起点(依次由 startOffset 标识)。

StaticRange.startOffset 只读

返回一个整数值,该值指示到由 startContainer 指定的节点的偏移量,该节点位于范围的第一个字符处。

方法

StaticRange.toRange()

返回一个新的 Range 对象,该对象描述了与源 StaticRange 相同的范围,但是该对象 “处于活动状态”,其值会跟着 DOM 树内容更改而更改。

使用注意

DOM 范围指定文档中内容的范围,范围可能从一个节点(或元素)内部开始,而到另一个节点(或元素)内部结束。与 Range 不同,StaticRange 表示范围是固定的;它不会随着文档内容更改而更改相应的内容。如果 Web 应用程序或网站不需要实时更新范围的话,用户代理可以避免很多不必要的工作,。

规范

规范 状态 备注
DOM
StaticRange 的定义
现行的标准 -
Static Range
StaticRange 的定义
编者的草案 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持6018691 不支持4710.1
StaticRange() 构造函数 不支持 不支持71 不支持 不支持13.1
collapsed601869 不支持4710.1
endContainer601869 不支持4710.1
endOffset601869 不支持4710.1
startContainer601869 不支持4710.1
startOffset601869 不支持4710.1
toRange()6018 不支持 不支持47 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持6060 未知 不支持 未知4410.3
StaticRange() 构造函数 不支持 不支持 未知 不支持 未知 不支持13.4
collapsed6060 未知 不支持 未知4410.3
endContainer6060 未知 不支持 未知4410.3
endOffset6060 未知 不支持 未知4410.3
startContainer6060 未知 不支持 未知4410.3
startOffset6060 未知 不支持 未知4410.3
toRange()6060 未知 不支持 未知44 不支持

1. 在 Firefox 中,StaticRange 当前只能由浏览器内部代码或具有增强权限的代码使用;它尚未在网页中可用。

相关链接

  • DOM 中内容的实时更新范围:Range
  • AbstractRange,派生所有范围的抽象接口