Этот перевод не завершен. Пожалуйста, помогите перевести эту статью с английского
Range(диапазон) интерфейс предоставляет фрагмент документа который может содержать узлы и части текстовых узлов данного документа.
Range может быть создан с помощью метода createRange, у объекта Document. Или объект Range можно получить с помощью метода getRangeAt, у объекта Selection. А также с помощью конструктора Range().
Свойства
Нет унаследованных свойств.
Range.collapsed Только для чтения
Возвращает Boolean указывающий, находятся ли range's start and
на одной и той же позиции.
Range.startContainerТолько для чтения- Возвращает
Nodeвнутри которогоRangeначинается. Range.endContainerТолько для чтения- Возвращает
Nodeвнутри которогоRangeзаканчивается . Range.commonAncestorContainerТолько для чтения- Возвращает самый глубокий
Nodeкоторый содержит узлыstartContainerиendContainer. Range.endOffsetТолько для чтения- Возвращает число равное расположению
endContainerвRange. Range.startOffsetТолько для чтения- Returns a number representing where in the
startContainertheRangestarts.
Конструктор
Методы
Не имеют унаследованных свойств.
Range.setStart()- Назначают начальную позицию
Range. Range.setEnd()- Назначает конечную позицию
Range. Range.setStartBefore()- Устанавливает начальную позицию
Rangeотносительно другогоNodeпред ним. Range.setStartAfter()- Устанавливает начальную позицию
Rangeотносительно другогоNodeпосле него. Range.setEndBefore()- Устанавливает конечную позицию
Rangeотносительно другогоNodeперед ним. Range.setEndAfter()- Устанавливает конечную позицию
Rangeотносительно другогоNodeпосле него. Range.selectNode()- Выбирает
Rangeto содержащийNodeи его контент. Range.selectNodeContents()- Выбирает
Rangeсодержащий контентNode. Range.collapse()- Схлопавыет
Rangeдо одной из граничных точек. Range.cloneContents()- Возвращает
DocumentFragmentсодержащийся в узлеRange. Range.deleteContents()- Удаляет содержимое
RangeизDocument. Range.extractContents()- Переносит содержимое
Rangeиз дерева документа вDocumentFragment. Range.insertNode()- Вставляет a
Nodeв началоRange. Range.surroundContents()- Переносит содержимое
Rangeв новыйNode. Range.compareBoundaryPoints()- Сравнивает граничные точки
Rangeс другимRange. Range.cloneRange()- Возвращает объект из
Rangeс граничными точками идентичными клонированномуRange. Range.detach()Освобождает Rangeот использования для улучшения производительности .Range.toString()- Возвращает текст в
Range. Range.compareNode()- Возвращает константу, представляющую, находится ли
Nodeдо, после, внутри или вокруг range. Range.comparePoint()- Возвращает -1, 0, или 1 в зависимости от того, находиться ли referenceNode перед, внутри, или после
Range. Range.createContextualFragment()- Возвращает
DocumentFragmentсозданный из полученной строки с кодом. Range.getBoundingClientRect()- Возвращает объект
ClientRectobject which bounds the entire contents of theRange; this would be the union of all the rectangles returned byrange.getClientRects(). Range.getClientRects()- Returns a list of
ClientRectobjects that aggregates the results ofElement.getClientRects()for all the elements in theRange. Range.intersectsNode()- Возвращает
booleanуказывающий, пересекает ли данный узелRange. Range.isPointInRange()- Returns a
booleanindicating whether the given point is in theRange.
Specifications
| Specification | Status | Comment |
|---|---|---|
| DOM Определение 'Range' в этой спецификации. |
Живой стандарт | Do not use RangeException anymore, use DOMException instead.Made the second parameter of collapse() optional.Added the methods isPointInRange(), comparePoint(), and intersectsNode().Added the constructor Range(). |
| DOM Parsing and Serialization Определение 'Extensions to Range' в этой спецификации. |
Рабочий черновик | Added the method createContextualFragment(). |
| CSS Object Model (CSSOM) View Module Определение 'Extensions to Range' в этой спецификации. |
Рабочий черновик | Added the methods getClientRects() and getBoundingClientRect(). |
| Document Object Model (DOM) Level 2 Traversal and Range Specification Определение 'Range' в этой спецификации. |
Устаревшая | Initial specification. |
Browser compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | (Да) | 1.0 (1.7 или ранее) [1] | 9.0 | 9.0 | (Да) |
Range() constructor |
(Да) | 24.0 (24.0) | Нет | 15.0 | (Да) |
compareNode() |
Нет | 1.0 (1.7 или ранее) Removed in 3.0 (1.9) |
Нет | Нет | Нет |
isPointInRange(), and comparePoint() |
(Да) | (Да) | Нет | 15.0 | ? |
intersectsNode() |
(Да) | 17.0 (17.0) [2] | Нет | 15.0 | ? |
getClientRects() and getBoundingClientRect() |
(Да) | 4.0 (2.0) | 9 | 15.0 | 5 |
createContextualFragment() |
(Да) | (Да) | Нет | 15.0 | ? |
| Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Basic support | (Да) | 1.0 (1.0) [1] | 9.0 | 9.0 | (Да) |
[1] Starting with Gecko 13.0 (Firefox 13.0 / Thunderbird 13.0 / SeaMonkey 2.10) the Range object throws a DOMException as defined in DOM 4, instead of a RangeException defined in prior specifications.
[2] Gecko supported it up to Gecko 1.9, then removed it until Gecko 17 where it was reimplemented, matching the spec.