Document.execCommand()
======================

Обзор
-----

Когда HTML документ переключён в режим редактирования (`document.designMode`), для него будет доступен метод `execCommand`, который предоставляет команды для работы с контентом в редактируемой области. Большинство команд влияют на выделение (bold, italics, и т. п.), другие вставляют новые элементы (createLink) или влияют на всю строку (indenting). При использовании `contentEditable`, вызов `execCommand` влияет на активный редактируемый элемент.

Синтаксис
---------


```js
execCommand(String aCommandName, Boolean aShowDefaultUI, String aValueArgument)
```

### Аргументы

> 
> 
> String aCommandName
> 
> имя команды
> 
> 
> 
> 
> 
> Boolean aShowDefaultUI
> 
> нужно ли показать пользовательский интерфейс по умолчанию. Это не реализовано в Mozilla.
> 
> 
> 
> 
> 
> String aValueArgument
> 
> некоторым командам (например insertimage) также требуется значение аргумента (url картинки). Если аргумент не нужен введите `null`.
> 
> 
> 
> 
> 

Команды
-------

> 
> 
> backColor
> 
> Изменить цвет фона документа. В режиме styleWithCss командой устанавливается цвет фона родительского блока. Необходима передача строкового значения цвета в качестве аргумента. (Internet Explorer таким образом устанавливает цвет фона текста.)
> 
> 
> 
> 
> 
> bold
> 
> Включает/отключает выделение жирным bold отмеченного текста или начиная с места ввода текста. (Internet Explorer использует тег `<strong>` вместо `<b>`.)
> 
> 
> 
> 
> 
> contentReadOnly
> 
> Делает содержимое документа либо неизменяемым либо редактируемым. Требуется передача булевого true/false в качестве аргумента. (Не поддерживается Internet Explorer.)
> 
> 
> 
> 
> 
> copy
> 
> Копирует выделенное в буфер обмена. Возможность такого поведения отличается от браузера к браузеру и расширяется со временем. Следует проверить таблицу совместимости, чтобы убедиться в возможности использования.
> 
> 
> 
> 
> 
> createLink
> 
> Создаёт ссылку из выделения, если таковое имеется. Необходима передача HREF URI в качестве аргумента. URI должен содержать как минимум один символ, допускается пробельный. (Internet Explorer создаст ссылку и без URI.)
> 
> 
> 
> 
> 
> cut
> 
> Вырезает выделенное и помещает его в буфер обмена. Возможность такого поведения отличается от браузера к браузеру и расширяется со временем. Следует проверить таблицу совместимости, чтобы убедиться в возможности использования.
> 
> 
> 
> 
> 
> decreaseFontSize
> 
> Добавляет тег `<small>` (en-US) вокруг выделения или с места ввода текста. (Не поддерживается Internet Explorer.)
> 
> 
> 
> 
> 
> delete
> 
> Удаляет выделенное.
> 
> 
> 
> 
> 
> enableInlineTableEditing
> 
> Включает/выключает возможность вставки и удаления строк/столбцов таблицы. (Не поддерживается Internet Explorer.)
> 
> 
> 
> 
> 
> enableObjectResizing
> 
> Включает/выключает возможность изменения размера картинок и других объектов. (Не поддерживается Internet Explorer.)
> 
> 
> 
> 
> 
> fontName
> 
> Изменяет название шрифта для выделенного текста или с места ввода текста. Требует передачи в качестве аргумента наименования шрифта (напр., "Arial")
> 
> 
> 
> 
> 
> fontSize
> 
> Изменяет размер шрифта выделенного текста или с места ввода текста. Требует передачи в качестве аргумента размера шрифта (1-7).
> 
> 
> 
> 
> 
> foreColor
> 
> Изменяет цвет шрифта выделенного текста или с места ввода текста. Требует передачи в качестве аргумента наименования шрифта.
> 
> 
> 
> 
> 
> formatBlock
> 
> Добавляет тег HTML-блока вокруг строк, содержащих в себе выделенный текст, заменяя блочный элемент, содержащий такие строки, если он существует (в Firefox, BLOCKQUOTE является исключением - он обернёт любой блочный элемент). Требует передачи в качестве аргумента наименования Тега. Теоретически может использоваться любой блочный тег (напр., "H1", "P", "DL", "BLOCKQUOTE"). (Internet Explorer поддерживает только теги заголовков H1 - H6, ADDRESS и PRE, которые должны также быть заключены в символы < >, как например: "<H1>".)
> 
> 
> 
> 
> 
> forwardDelete
> 
> Удаляет символ справа от курсора, так же как при нажатии на клавишу delete.
> 
> 
> 
> heading
> 
> 
>  Добавляет тег заголовка вокруг выделенного текста либо в месте, где установлен курсор.
>  Требует передачи строки имени тега в качестве аргумента. (то есть "H1", "H6"). (Не поддерживается в Internet Explorer и Safari)
>  
> 
> 
> 
> 
> 
> hiliteColor
> 
> Изменяет цвет фона для выделенного текста либо в месте, где установлен курсор. Требует передачи цвета в качестве аргумента. UseCSS должен быть включён для работы этой функции. (Не поддерживается в Internet Explorer)
> 
> 
> 
> 
> 
> increaseFontSize
> 
> Добавляет тег BIG вокруг выделенного текста или на месте курсора. (Не поддерживается в Internet Explorer)
> 
> 
> 
> 
> 
> indent
> 
> Добавляет отступ в строку, в которой расположен курсор (или что-то выделено). В Firefox, если выделение охватывает несколько строк с разными уровнями отступа, будут сдвинуты только строки с наименьшим отступом.
> 
> 
> 
> 
> 
> insertBrOnReturn
> 
> Добавляет тег `<br>` или разбивает текущий элемент на два блока. Не работает в Internet Explorer
> 
> 
> 
> 
> 
> insertHorizontalRule
> 
> Вставляет горизонтальную линию на месте курсора (удаляет выделение).
> 
> 
> 
> 
> 
> insertHTML
> 
> Вставляет HTML текст на месте курсора (удаляет выделенный текст). Требует передачи правильной HTML строки в качестве аргумента. (Не поддерживается в Internet Explorer)
> 
> 
> 
> 
> 
> insertImage
> 
> Вставляет изображение на место курсора (удаляет выделенный текст). Необходимо указывать ссылку на изображение в параметре "aValueArgument". (Internet Explorer может создавать изображения с пустым SRC)
> 
> 
> 
> 
> 
> insertOrderedList
> 
> Создаёт пронумерованный список из выбранного или на месте курсора.
> 
> 
> 
> 
> 
> insertUnorderedList
> 
> Создаёт список из выбранного или на месте курсора.
> 
> 
> 
> 
> 
> insertParagraph
> 
> Вставляет параграф вокруг выделения или для текущей строки. (Internet Explorer вставляет параграф в месте курсора и удаляет выделенный текст)
> 
> 
> 
> insertText
> 
> Вставляет простой текст в месте курсора или выделения (выделенный текст будет заменён).
> 
> 
> 
> 
> 
> italic
> 
> Переключает курсив в месте курсора или выделения. (Internet Explorer использует теги `<em>` вместо `<i>` (en-US).)
> 
> 
> 
> 
> 
> justifyCenter
> 
> Центрирует строку, в которой есть выделение или установлен курсор.
> 
> 
> 
> 
> 
> justifyFull
> 
> Выравнивает по ширине строку, в которой есть выделение или установлен курсор.
> 
> 
> 
> 
> 
> justifyLeft
> 
> Выравнивает по левому краю строку, в которой есть выделение или установлен курсор.
> 
> 
> 
> 
> 
> justifyRight
> 
> Выравнивает по правому краю строку, в которой есть выделение или установлен курсор.
> 
> 
> 
> 
> 
> outdent
> 
> Добавляет выступ для строки, в которой расположен курсор (или что-то выделено).
> 
> 
> 
> 
> 
> paste
> 
> Вставляет данные из буфера обмена в место курсора или выделения (последнее заменяется). Доступ к буферу обмена должен быть включён в файле user.js
> 
> 
> 
> 
> 
> redo
> 
> Повтор последнего действия. (Если было отменено с помощью **undo** или **ctrl+z**)
> 
> 
> 
> 
> 
> removeFormat
> 
> Очищает форматирование для выделенного.
> 
> 
> 
> 
> 
> selectAll
> 
> Выделяет всё в редактируемом документе.
> 
> 
> 
> 
> 
> strikeThrough
> 
> Переключает зачёркивание текста для выделения или на месте курсора.
> 
> 
> 
> 
> 
> subscript
> 
> Переключает нижний индекс для выбранного или на месте курсора.
> 
> 
> 
> 
> 
> superscript
> 
> Переключает верхний индекс для выбранного или на месте курсора.
> 
> 
> 
> 
> 
> underline
> 
> Переключает подчёркивание для выбранного или на месте курсора.
> 
> 
> 
> 
> 
> undo
> 
> Отменяет последнее действие.
> 
> 
> 
> 
> 
> unlink
> 
> Удаляет ссылку или якорь для выбранной ссылки/якоря
> 
> 
> 
> 
> 
> useCSS 
> Устарело
> 
> 
> Переключает режим стилизации HTML и CSS для генерируемой разметки. Может принимать только булевы значения true/false. ПРИМЕЧАНИЕ: этот аргумент с перевёрнутой логикой (т.е. false = CSS / true = HTML). (Не поддерживается в Internet Explorer.) **Внимание! Эта команда является устаревшей, используйте *styleWithCSS.***
> 
> 
> 
> 
> 
> styleWithCSS
> 
> **Заменяет команду useCSS.** Аргумент работает как ожидалось, т.е. true модифицирует/генерирует атрибуты стиля в разметке, false генерирует элементы форматирования.
> 
> 
> 
> 
> 

Пример
------
```

iframeNode.execCommand("bold"); // Жирный текст
iframeNode.execCommand("undo"); // Отмена последнего действия
iframeNode.execCommand("insertText", false, "Lorem ipsum dolor sit amet, consectetur adipisicing elit."); // Вставка текста
```

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

| Specification |
| --- |
| Trusted Types # dom-document-execcommand |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

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

* `document.contentEditable`
* `document.designMode`
* Rich-Text Editing в Mozilla