StaticRange - 不会跟着 DOM 树更改的内容范围
StaticRange
是 DOM 的接口,继承了 AbstractRange
,提供了一种方法来指定 DOM 中的内容范围,这些内容不会跟着 DOM 树的更改而更改。它提供与 AbstractRange
相同的属性和方法集。
AbstractRange
和 StaticRange
在 网络工作线程 中不可用。
构造函数
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 的定义 |
编者的草案 | 初始定义。 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 60 | 18 | 691 | 不支持 | 47 | 10.1 |
StaticRange() 构造函数 | 不支持 | 不支持 | 71 | 不支持 | 不支持 | 13.1 |
collapsed | 60 | 18 | 69 | 不支持 | 47 | 10.1 |
endContainer | 60 | 18 | 69 | 不支持 | 47 | 10.1 |
endOffset | 60 | 18 | 69 | 不支持 | 47 | 10.1 |
startContainer | 60 | 18 | 69 | 不支持 | 47 | 10.1 |
startOffset | 60 | 18 | 69 | 不支持 | 47 | 10.1 |
toRange() | 60 | 18 | 不支持 | 不支持 | 47 | 不支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 60 | 60 | 未知 | 不支持 | 未知 | 44 | 10.3 |
StaticRange() 构造函数 | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 不支持 | 13.4 |
collapsed | 60 | 60 | 未知 | 不支持 | 未知 | 44 | 10.3 |
endContainer | 60 | 60 | 未知 | 不支持 | 未知 | 44 | 10.3 |
endOffset | 60 | 60 | 未知 | 不支持 | 未知 | 44 | 10.3 |
startContainer | 60 | 60 | 未知 | 不支持 | 未知 | 44 | 10.3 |
startOffset | 60 | 60 | 未知 | 不支持 | 未知 | 44 | 10.3 |
toRange() | 60 | 60 | 未知 | 不支持 | 未知 | 44 | 不支持 |
1. 在 Firefox 中,StaticRange
当前只能由浏览器内部代码或具有增强权限的代码使用;它尚未在网页中可用。
相关链接
- DOM 中内容的实时更新范围:
Range
AbstractRange
,派生所有范围的抽象接口