1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
|
---
title: Document.execCommand()
slug: Web/API/Document/execCommand
tags:
- API
- DOM
- editor
- wysiwyg
translation_of: Web/API/Document/execCommand
---
<div>{{ApiRef("DOM")}}{{Obsolete_header}}</div>
<div>
<h2 id="Summary">Обзор</h2>
<p>Когда HTML документ переключён в режим редактирования ({{domxref("document.designMode")}}), для него будет доступен метод <code>execCommand</code>, который предоставляет команды для работы с контентом в редактируемой области. Большинство команд влияют на выделение (bold, italics, и т. п.), другие вставляют новые элементы (createLink) или влияют на всю строку (<span style="font-family: segoe ui;">indenting</span>). При использовании <code>contentEditable</code>, вызов <code>execCommand</code> влияет на активный редактируемый элемент.</p>
<h2 id="Syntax">Синтаксис</h2>
<pre class="brush: js notranslate">execCommand(String aCommandName, Boolean aShowDefaultUI, String aValueArgument)
</pre>
<h3 id="Аргументы">Аргументы</h3>
<blockquote>
<dl>
<dt>String aCommandName</dt>
<dd>имя команды</dd>
</dl>
<dl>
<dt>Boolean aShowDefaultUI</dt>
<dd>нужно ли показать пользовательский интерфейс по умолчанию. Это не реализовано в Mozilla.</dd>
</dl>
<dl>
<dt>String aValueArgument</dt>
<dd>некоторым командам (например insertimage) также требуется значение аргумента (url картинки). Е<span style="line-height: 1.5;">сли аргумент не нужен введите</span><span style="line-height: 1.5;"> </span><code style="font-style: normal; line-height: 1.5;">null</code><span style="line-height: 1.5;">.</span></dd>
</dl>
</blockquote>
<h2 id="Команды">Команды</h2>
<blockquote>
<dl>
<dt>backColor</dt>
<dd>Изменить цвет фона документа. В режиме styleWithCss командой устанавливается цвет фона родительского блока. Необходима передача строкового значения цвета в качестве аргумента. (Internet Explorer таким образом устанавливает цвет фона текста.)</dd>
</dl>
<dl>
<dt>bold</dt>
<dd>Включает/отключает выделение жирным bold отмеченного текста или начиная с места ввода текста. (Internet Explorer использует тег {{HTMLElement("strong")}} вместо {{HTMLElement("b")}}.)</dd>
</dl>
<dl>
<dt>contentReadOnly</dt>
<dd>Делает содержимое документа либо неизменяемым либо редактируемым. Требуется передача булевого true/false в качестве аргумента. (Не поддерживается Internet Explorer.)</dd>
</dl>
<dl>
<dt>copy</dt>
<dd>Копирует выделенное в буфер обмена. Возможность такого поведения отличается от браузера к браузеру и расширяется со временем. Следует проверить таблицу совместимости, чтобы убедиться в возможности использования.</dd>
</dl>
<dl>
<dt>createLink</dt>
<dd>Создаёт ссылку из выделения, если таковое имеется. Необходима передача HREF URI в качестве аргумента. URI должен содержать как минимум один символ, допускается пробельный. (Internet Explorer создаст ссылку и без URI.)</dd>
</dl>
<dl>
<dt>cut</dt>
<dd>Вырезает выделенное и помещает его в буфер обмена. Возможность такого поведения отличается от браузера к браузеру и расширяется со временем. Следует проверить таблицу совместимости, чтобы убедиться в возможности использования.</dd>
</dl>
<dl>
<dt>decreaseFontSize</dt>
<dd>Добавляет тег {{HTMLElement("small")}} вокруг выделения или с места ввода текста. (Не поддерживается Internet Explorer.)</dd>
</dl>
<dl>
<dt>delete</dt>
<dd>Удаляет выделенное.</dd>
</dl>
<dl>
<dt>enableInlineTableEditing</dt>
<dd>Включает/выключает возможность вставки и удаления строк/столбцов таблицы. (Не поддерживается Internet Explorer.)</dd>
</dl>
<dl>
<dt>enableObjectResizing</dt>
<dd>Включает/выключает возможность изменения размера картинок и других объектов. (Не поддерживается Internet Explorer.)</dd>
</dl>
<dl>
<dt>fontName</dt>
<dd>Изменяет название шрифта для выделенного текста или с места ввода текста. Требует передачи в качестве аргумента наименования шрифта (напр., "Arial") </dd>
</dl>
<dl>
<dt>fontSize</dt>
<dd>Изменяет размер шрифта выделенного текста или с места ввода текста. Требует передачи в качестве аргумента размера шрифта (1-7).</dd>
</dl>
<dl>
<dt>foreColor</dt>
<dd>Изменяет цвет шрифта выделенного текста или с места ввода текста. Требует передачи в качестве аргумента наименования шрифта.</dd>
</dl>
<dl>
<dt>formatBlock</dt>
<dd>Добавляет тег HTML-блока вокруг строк, содержащих в себе выделенный текст, заменяя блочный элемент, содержащий такие строки, если он существует (в Firefox, BLOCKQUOTE является исключением - он обернёт любой блочный элемент). Требует передачи в качестве аргумента наименования Тега. Теоретически может использоваться любой блочный тег (напр., "H1", "P", "DL", "BLOCKQUOTE"). (Internet Explorer поддерживает только теги заголовков H1 - H6, ADDRESS и PRE, которые должны также быть заключены в символы < >, как например: "<H1>".)</dd>
</dl>
<dl>
<dt>forwardDelete</dt>
<dd>Удаляет символ справа от курсора, так же как при нажатии на клавишу delete.</dd>
<dt>heading</dt>
<dd>Добавляет тег заголовка вокруг выделенного текста либо в месте, где установлен курсор.<br>
Требует передачи строки имени тега в качестве аргумента. (то есть "H1", "H6"). (Не поддерживается в Internet Explorer и Safari)</dd>
</dl>
<dl>
<dt>hiliteColor</dt>
<dd>Изменяет цвет фона для выделенного текста либо в месте, где установлен курсор. Требует передачи цвета в качестве аргумента. UseCSS должен быть включён для работы этой функции. (Не поддерживается в Internet Explorer)</dd>
</dl>
<dl>
<dt>increaseFontSize</dt>
<dd>Добавляет тег BIG вокруг выделенного текста или на месте курсора. (Не поддерживается в Internet Explorer)</dd>
</dl>
<dl>
<dt>indent</dt>
<dd>Добавляет отступ в строку, в которой расположен курсор (или что-то выделено). В Firefox, если выделение охватывает несколько строк с разными уровнями отступа, будут сдвинуты только строки с наименьшим отступом.</dd>
</dl>
<dl>
<dt>insertBrOnReturn</dt>
<dd>Добавляет тег {{HTMLElement("br")}} или разбивает текущий элемент на два блока. Не работает в Internet Explorer</dd>
</dl>
<dl>
<dt>insertHorizontalRule</dt>
<dd>Вставляет горизонтальную линию на месте курсора (удаляет выделение).</dd>
</dl>
<dl>
<dt>insertHTML</dt>
<dd>Вставляет HTML текст на месте курсора (удаляет выделенный текст). Требует передачи правильной HTML строки в качестве аргумента. (Не поддерживается в Internet Explorer)</dd>
</dl>
<dl>
<dt>insertImage</dt>
<dd>Вставляет изображение на место курсора (удаляет выделенный текст). Необходимо указывать ссылку на изображение в параметре "aValueArgument". (Internet Explorer может создавать изображения с пустым SRC)</dd>
</dl>
<dl>
<dt>insertOrderedList</dt>
<dd>Создаёт пронумерованный список из выбранного или на месте курсора.</dd>
</dl>
<dl>
<dt>insertUnorderedList</dt>
<dd>Создаёт список из выбранного или на месте курсора.</dd>
</dl>
<dl>
<dt>insertParagraph</dt>
<dd>Вставляет параграф вокруг выделения или для текущей строки. (Internet Explorer вставляет параграф в месте курсора и удаляет выделенный текст)</dd>
<dt>insertText</dt>
<dd>Вставляет простой текст в месте курсора или выделения (выделенный текст будет заменён).</dd>
</dl>
<dl>
<dt>italic</dt>
<dd>Переключает курсив в месте курсора или выделения. (Internet Explorer использует теги {{HTMLElement("em")}} вместо {{HTMLElement("i")}}.)</dd>
</dl>
<dl>
<dt>justifyCenter</dt>
<dd>Центрирует строку, в которой есть выделение или установлен курсор.</dd>
</dl>
<dl>
<dt>justifyFull</dt>
<dd>Выравнивает по ширине строку, в которой есть выделение или установлен курсор.</dd>
</dl>
<dl>
<dt>justifyLeft</dt>
<dd>Выравнивает по левому краю строку, в которой есть выделение или установлен курсор.</dd>
</dl>
<dl>
<dt>justifyRight</dt>
<dd>Выравнивает по правому краю строку, в которой есть выделение или установлен курсор.</dd>
</dl>
<dl>
<dt>outdent</dt>
<dd>Добавляет выступ для строки, в которой расположен курсор (или что-то выделено).</dd>
</dl>
<dl>
<dt>paste</dt>
<dd>Вставляет данные из буфера обмена в место курсора или выделения (последнее заменяется). Доступ к буферу обмена должен быть включён в файле user.js</dd>
</dl>
<dl>
<dt>redo</dt>
<dd>Повтор последнего действия. (Если было отменено с помощью <strong>undo</strong> или <strong>ctrl+z</strong>)</dd>
</dl>
<dl>
<dt>removeFormat</dt>
<dd>Очищает форматирование для выделенного.</dd>
</dl>
<dl>
<dt>selectAll</dt>
<dd>Выделяет всё в редактируемом документе.</dd>
</dl>
<dl>
<dt>strikeThrough</dt>
<dd>Переключает зачёркивание текста для выделения или на месте курсора.</dd>
</dl>
<dl>
<dt>subscript</dt>
<dd>Переключает нижний индекс для выбранного или на месте курсора.</dd>
</dl>
<dl>
<dt>superscript</dt>
<dd>Переключает верхний индекс для выбранного или на месте курсора.</dd>
</dl>
<dl>
<dt>underline</dt>
<dd>Переключает подчёркивание для выбранного или на месте курсора.</dd>
</dl>
<dl>
<dt>undo</dt>
<dd>Отменяет последнее действие.</dd>
</dl>
<dl>
<dt>unlink</dt>
<dd>Удаляет ссылку или якорь для выбранной ссылки/якоря</dd>
</dl>
<dl>
<dt>useCSS {{ Deprecated_inline() }}</dt>
<dd>Переключает режим стилизации HTML и CSS для генерируемой разметки. Может принимать только булевы значения true/false. ПРИМЕЧАНИЕ: этот аргумент с перевёрнутой логикой (т.е. false = CSS / true = HTML). (Не поддерживается в Internet Explorer.) <strong>Внимание! Эта команда является устаревшей, используйте <em>styleWithCSS.</em></strong></dd>
</dl>
<dl>
<dt>styleWithCSS</dt>
<dd><strong>Заменяет команду useCSS.</strong> Аргумент работает как ожидалось, т.е. true модифицирует/генерирует атрибуты стиля в разметке, false генерирует элементы форматирования.</dd>
</dl>
</blockquote>
</div>
<h2 id="Example">Пример</h2>
<pre class="notranslate"><code>iframeNode</code>.execCommand("bold"); // Жирный текст
<code>iframeNode</code>.execCommand("undo"); // Отмена последнего действия
<code>iframeNode</code>.execCommand("insertText", false, "Lorem ipsum dolor sit amet, consectetur adipisicing elit."); // Вставка текста
</pre>
<h2 id="Browser_Compatibility">Совместимость с браузерами</h2>
<p>{{Compat("api.Document.execCommand")}}</p>
<h2 id="Specification">Спецификация</h2>
<table class="spectable standard-table">
<tbody>
<tr>
<th scope="col">Спецификация</th>
<th scope="col">Статус</th>
<th scope="col">Комментарий</th>
</tr>
<tr>
<td>{{SpecName('HTML Editing','#execcommand()','execCommand')}}</td>
<td>{{Spec2('HTML Editing')}}</td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="See_also">Смотрите также</h2>
<ul>
<li>{{domxref("document.contentEditable")}}</li>
<li>{{domxref("document.designMode")}}</li>
<li><a href="/en-US/docs/Rich-Text_Editing_in_Mozilla">Rich-Text Editing в Mozilla</a></li>
</ul>
|