MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Обзор

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

Синтаксис

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 создаст ccылку и без URI.)
cut
Вырезает выделенное и помещает его в буфер обмена. Возможность такого поведения отличается от браузера к браузеру и расширяется со временем. Следует проверить таблицу совместимости, чтобы убедиться в возможности использования.
decreaseFontSize
Добавляет тег <small> вокруг выделения или с места ввода текста. (Не поддерживается 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>.)
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."); // Вставка текста

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

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка (Да) (Да) ? ? (Да)
insertBrOnReturn Нет (Да) Нет Нет Нет
Feature Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка ? ? (Да) ? ? ?

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

Спецификация Статус Комментарий
HTML Editing APIs
Определение 'execCommand' в этой спецификации.
Редакторский черновик  

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

Метки документа и участники

Метки: 
 Внесли вклад в эту страницу: Xmaksss, WispProxy, patsuckow, N3stY, Ivanq, jt3k, sshest, fscholz, ang.reload
 Обновлялась последний раз: Xmaksss,