Document.execCommand()
Обзор
Когда 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 создаст ссылку и без 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."); // Вставка текста
Спецификации
Specification |
---|
Trusted Types # dom-document-execcommand |
Совместимость с браузерами
BCD tables only load in the browser