From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- files/ru/web/api/range/collapsed/index.html | 104 +++++++++ .../web/api/range/getboundingclientrect/index.html | 81 +++++++ files/ru/web/api/range/index.html | 243 +++++++++++++++++++++ files/ru/web/api/range/surroundcontents/index.html | 113 ++++++++++ 4 files changed, 541 insertions(+) create mode 100644 files/ru/web/api/range/collapsed/index.html create mode 100644 files/ru/web/api/range/getboundingclientrect/index.html create mode 100644 files/ru/web/api/range/index.html create mode 100644 files/ru/web/api/range/surroundcontents/index.html (limited to 'files/ru/web/api/range') diff --git a/files/ru/web/api/range/collapsed/index.html b/files/ru/web/api/range/collapsed/index.html new file mode 100644 index 0000000000..b91eed643c --- /dev/null +++ b/files/ru/web/api/range/collapsed/index.html @@ -0,0 +1,104 @@ +--- +title: Range.collapsed +slug: Web/API/Range/collapsed +translation_of: Web/API/Range/collapsed +--- +
+

{{ APIRef("DOM") }}

+
+ +

Доступное только для чтения свойство Range.collapsed возвращает флаг {{domxref("Boolean")}}, который указывает, в одной ли и той же позиции находятся начало и конец диапазона {{domxref("Range")}}. Оно возвращает true, если начало и конец граничных точех диапазона {{domxref("Range")}} являются одной и той же точкой в DOM, false – в противном случае.

+ +

Свёрнутый диапазон {{domxref("Range")}} является пустым, не имеет содержимого, определяет единую точку в древе DOM. Для того, чтобы свернуть диапазон, смотрите метод {{domxref("Range.collapse()")}}.

+ +

Syntax

+ +
isCollapsed = range.collapsed;
+
+ +

Example

+ +
var range = document.createRange();
+
+range.setStart(startNode,startOffset);
+range.setEnd(endNode,endOffset);
+isCollapsed = range.collapsed;
+
+ +

Specifications

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('DOM WHATWG', '#dom-range-collapsed', 'Range.collapsed')}}{{Spec2('DOM WHATWG')}}No change.
{{SpecName('DOM2 Traversal_Range', 'ranges.html#Level-2-Range-attr-collapsed', 'Range.collapsed')}}{{Spec2('DOM2 Traversal_Range')}}Initial specification.
+ +

Browser compatibility

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}9.09.0{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}9.09.0{{CompatVersionUnknown}}
+
+ +

See also

+ + diff --git a/files/ru/web/api/range/getboundingclientrect/index.html b/files/ru/web/api/range/getboundingclientrect/index.html new file mode 100644 index 0000000000..9948c1d820 --- /dev/null +++ b/files/ru/web/api/range/getboundingclientrect/index.html @@ -0,0 +1,81 @@ +--- +title: Range.getBoundingClientRect +slug: Web/API/Range/getBoundingClientRect +translation_of: Web/API/Range/getBoundingClientRect +--- +

{{ ApiRef("Range") }}{{SeeCompatTable}}

+

Метод Range.getBoundingClientRect() возвращает объект {{ domxref("ClientRect") }}, соотвествующий фрагменту документа, на основе которого создан объект Range; это прямоугольник, непосредственно обрамляющий объединение прямоугольников для каждого элемента фрагмента документа.

+

Синтаксис

+
boundingRect = range.getBoundingClientRect()
+
+

Пример

+
range = document.createRange();
+range.selectNode(document.getElementsByTagName("div").item(0));
+rect = range.getBoundingClientRect();
+
+

Спецификация

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('CSSOM View', '#dom-range-getboundingclientrect', 'Range.getBoundingClientRect()')}}{{Spec2('CSSOM View')}}Initial specification.
+

Поддержка браузеров

+

{{CompatibilityTable}}

+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoDesktop("2.0")}}9.015.0{{CompatUnknown}}
+
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatGeckoMobile("2.0")}}{{CompatNo}}15.0{{CompatUnknown}}
+
+

See also

+ diff --git a/files/ru/web/api/range/index.html b/files/ru/web/api/range/index.html new file mode 100644 index 0000000000..b46091e373 --- /dev/null +++ b/files/ru/web/api/range/index.html @@ -0,0 +1,243 @@ +--- +title: Range +slug: Web/API/Range +tags: + - API + - DOM +translation_of: Web/API/Range +--- +

{{ APIRef("DOM") }}

+ +

Range(диапазон) интерфейс предоставляет фрагмент документа который может содержать узлы и части текстовых узлов  данного документа. 

+ +

Range может быть создан с помощью метода {{ domxref("Document.createRange", "createRange") }}, у объекта {{ domxref("Document") }}. Или объект Range можно получить с помощью метода {{ domxref("Selection/getRangeAt", "getRangeAt") }}, у объекта {{ domxref("Selection") }}. А также с помощью конструктора {{domxref("Range.Range()", "Range()")}}.

+ +

Свойства

+ +

Нет унаследованных свойств.

+ +

{{domxref("Range.collapsed")}} {{readonlyInline}}
+ Возвращает {{domxref("Boolean")}} указывающий, находятся ли начало и конец диапазона
+ на одной и той же позиции.

+ +
+
{{domxref("Range.startContainer")}} {{readonlyInline}}
+
Возвращает {{ domxref("Node") }} внутри которого Range начинается.
+
{{domxref("Range.endContainer")}} {{readonlyInline}}
+
Возвращает {{ domxref("Node") }} внутри которого Range заканчивается .
+
{{domxref("Range.commonAncestorContainer")}} {{readonlyInline}}
+
Возвращает самый глубокий {{ domxref("Node") }} который содержит узлы startContainer и endContainer.
+
{{domxref("Range.endOffset")}} {{readonlyInline}}
+
Возвращает число равное расположению endContainer в Range .
+
+
{{domxref("Range.startOffset")}} {{readonlyInline}}
+
Returns a number representing where in the startContainer the Range starts.
+
+ +

Конструктор

+ +
+
{{ domxref("Range.Range()", "Range()") }} {{experimental_inline}}
+
Возвращают объект Range с глобальным  {{domxref("Document")}} как начало и конец.
+
+ +

Методы

+ +

Не имеют унаследованных свойств.

+ +
+
{{ domxref("Range.setStart()")}}
+
Назначают начальную позицию Range.
+
{{ domxref("Range.setEnd()")}}
+
Назначает конечную позицию Range.
+
{{ domxref("Range.setStartBefore()")}}
+
Устанавливает начальную позицию Range относительно другого {{ domxref("Node") }} пред ним.
+
{{ domxref("Range.setStartAfter()")}}
+
Устанавливает начальную позицию Range относительно другого {{ domxref("Node") }} после него.
+
{{ domxref("Range.setEndBefore()")}}
+
Устанавливает конечную позицию Range относительно другого {{ domxref("Node") }} перед ним.
+
{{ domxref("Range.setEndAfter()")}}
+
Устанавливает конечную позицию Range относительно другого {{ domxref("Node") }} после него.
+
{{ domxref("Range.selectNode()")}}
+
Выбирает Range to содержащий {{ domxref("Node") }} и его контент.
+
{{ domxref("Range.selectNodeContents()")}}
+
Выбирает Range содержащий контент {{ domxref("Node") }}.
+
{{ domxref("Range.collapse()")}}
+
Схлопавыет Range до одной из граничных точек.
+
{{ domxref("Range.cloneContents()")}}
+
Возвращает {{ domxref("DocumentFragment") }} содержащийся в узле Range.
+
{{ domxref("Range.deleteContents()")}}
+
Удаляет содержимое Range из{{ domxref("Document") }}.
+
{{ domxref("Range.extractContents()")}}
+
Переносит содержимое Range из дерева документа в {{ domxref("DocumentFragment") }}.
+
{{ domxref("Range.insertNode()")}}
+
Вставляет a {{ domxref("Node") }} в начало Range.
+
{{ domxref("Range.surroundContents()")}}
+
Переносит содержимое Range в новый {{ domxref("Node") }}.
+
{{ domxref("Range.compareBoundaryPoints()")}}
+
Сравнивает граничные точки Range с другим Range.
+
{{ domxref("Range.cloneRange()")}}
+
Возвращает  объект из Range с граничными точками идентичными клонированному Range.
+
{{ domxref("Range.detach()")}}
+
Освобождает Range от использования для улучшения производительности .
+
{{ domxref("Range.toString()")}}
+
Возвращает текст в Range.
+
{{ domxref("Range.compareNode()")}} {{ Obsolete_inline }}{{non-standard_inline}}
+
Возвращает константу, представляющую, находится ли {{domxref("Node")}} до, после, внутри или вокруг  range.
+
{{ domxref("Range.comparePoint()")}} {{experimental_inline}}
+
Возвращает -1, 0, или 1 в зависимости от того, находиться ли referenceNode перед, внутри, или после  Range.
+
{{ domxref("Range.createContextualFragment()")}}{{experimental_inline}}
+
Возвращает {{ domxref("DocumentFragment") }} созданный из полученной строки с кодом.
+
{{ domxref("Range.getBoundingClientRect()") }} {{experimental_inline}}
+
Возвращает объект {{ domxref("ClientRect") }} object which bounds the entire contents of the Range; this would be the union of all the rectangles returned by {{ domxref("range.getClientRects()") }}.
+
{{ domxref("Range.getClientRects()") }} {{experimental_inline}}
+
Returns a list of {{ domxref("ClientRect") }} objects that aggregates the results of {{ domxref("Element.getClientRects()") }} for all the elements in the Range.
+
{{ domxref("Range.intersectsNode()")}} {{experimental_inline}}
+
Возвращает boolean указывающий, пересекает ли данный узел Range.
+
{{ domxref("Range.isPointInRange()")}} {{experimental_inline}}
+
Returns a boolean indicating whether the given point is in the Range.
+
+ +

Specifications

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('DOM WHATWG', '#interface-range', 'Range')}}{{Spec2('DOM WHATWG')}}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().
{{SpecName('DOM Parsing', '#extensions-to-the-range-interface', 'Extensions to Range')}}{{Spec2('DOM Parsing')}}Added the method createContextualFragment().
{{SpecName('CSSOM View', '#extensions-to-the-range-interface', 'Extensions to Range')}}{{Spec2('CSSOM View')}}Added the methods getClientRects() and getBoundingClientRect().
{{SpecName('DOM2 Traversal_Range', 'ranges.html#Level-2-Range-Interface', 'Range')}}{{Spec2('DOM2 Traversal_Range')}}Initial specification.
+ +

Browser compatibility

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}} [1]9.09.0{{CompatVersionUnknown}}
Range() constructor {{experimental_inline}}{{CompatVersionUnknown}}{{CompatGeckoDesktop("24.0")}}{{CompatNo}}15.0{{CompatVersionUnknown}}
compareNode() {{obsolete_inline}}{{non-standard_inline()}}{{CompatNo}}{{CompatGeckoDesktop("1.0")}}
+ Removed in {{CompatGeckoDesktop("1.9")}}
{{CompatNo}}{{CompatNo}}{{CompatNo}}
isPointInRange(), and comparePoint(){{experimental_inline}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatNo}}15.0{{CompatUnknown}}
intersectsNode() {{experimental_inline}}{{CompatVersionUnknown}}{{CompatGeckoDesktop("17.0")}} [2]{{CompatNo}}15.0{{CompatUnknown}}
getClientRects() and getBoundingClientRect(){{experimental_inline}}{{CompatVersionUnknown}}{{CompatGeckoDesktop("2.0")}}915.05
createContextualFragment(){{experimental_inline}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatNo}}15.0{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}} [1]9.09.0{{CompatVersionUnknown}}
+
+ +

[1] Starting with Gecko 13.0 {{ geckoRelease("13.0") }} the Range object throws a {{ domxref("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.

+ +

See also

+ + diff --git a/files/ru/web/api/range/surroundcontents/index.html b/files/ru/web/api/range/surroundcontents/index.html new file mode 100644 index 0000000000..fd9e2d515a --- /dev/null +++ b/files/ru/web/api/range/surroundcontents/index.html @@ -0,0 +1,113 @@ +--- +title: Range.surroundContents() +slug: Web/API/Range/surroundContents +translation_of: Web/API/Range/surroundContents +--- +
{{ApiRef("DOM")}}
+ +

Метод Range.surroundContents() перемещает содержимое {{ domxref("Range") }} в новый элемент, который расположится в начале указанного диапазона.

+ +

Этот медод приблизительно эквивалентен коду newNode.appendChild(range.extractContents()); range.insertNode(newNode). После его работы крайние точки диапазона будут включать в себя newNode.

+ +

Если {{ domxref("Range") }} разделяет любой не текстовый элемент хотя бы одной точкой, произойдет исключение. В отличие от альтернативы выше, если в диапазоне есть частично выделенные элементы, они не будут клонированы, а вместо этого произовдет ошибка.

+ +

Синтаксис

+ +
range.surroundContents(newNode);
+
+ +

Параметры

+ +
+
newNode
+
Элемент который будет содержать в себе выделенный текст. 
+
+ +

Пример

+ +
var range = document.createRange();
+var newNode = document.createElement("p");
+
+range.selectNode(document.getElementsByTagName("div").item(0));
+range.surroundContents(newNode);
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('DOM WHATWG', '#dom-range-surroundcontents', 'Range.surroundContents()')}}{{Spec2('DOM WHATWG')}}Без изменений.
{{SpecName('DOM2 Traversal_Range', 'ranges.html#Level2-Range-method-surroundContents', 'Range.surroundContents()')}}{{Spec2('DOM2 Traversal_Range')}}Начальная спецификация.
+ +

Совместимость

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}} [1]9.09.0{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}} [1]9.09.0{{CompatVersionUnknown}}
+
+ +

[1] Firefox до версии 1.5, содержит ошибку, которая не позволяет отработать Range.surroundContents если начало и конец диапазона являются одним текстовым элементом ({{bug(135928)}}).

+ +

Смотрите также

+ + -- cgit v1.2.3-54-g00ecf