Инструменты пользователя

Инструменты сайта


software:development:web:docs:web:wysiwyg:sceditor_doc_custom_commands

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
software:development:web:docs:web:wysiwyg:sceditor_doc_custom_commands [2026/01/07 11:16] – создано VladPolskiysoftware:development:web:docs:web:wysiwyg:sceditor_doc_custom_commands [2026/01/07 11:34] (текущий) – [Создание/обновление пользовательской команды] VladPolskiy
Строка 2: Строка 2:
 \\   \\  
 ===== Создание/обновление пользовательской команды ===== ===== Создание/обновление пользовательской команды =====
-\\   
 Для добавления/обновления команды используйте соответствующую **sceditor.command.set()** функцию. Для добавления/обновления команды используйте соответствующую **sceditor.command.set()** функцию.
-\\   
 <note red> <note red>
 :&9: Важно:При создании или обновлении команды это необходимо сделать до создания экземпляра редактора, например, до вызова метода sceditor.create(). :&9: Важно:При создании или обновлении команды это необходимо сделать до создания экземпляра редактора, например, до вызова метода sceditor.create().
 </note> </note>
-\\   
 <note yellow> <note yellow>
 :!: Предупреждение:Эта функция обновит любую существующую команду с тем же именем. :!: Предупреждение:Эта функция обновит любую существующую команду с тем же именем.
 </note> </note>
-\\   
 Функция sceditor.command.set() принимает два аргумента: **name** и **cmd**. Функция sceditor.command.set() принимает два аргумента: **name** и **cmd**.
-\\   
   * name String   * name String
 Название команды, используемое для ее отображения на панели инструментов. Должно быть написано строчными буквами! Название команды, используемое для ее отображения на панели инструментов. Должно быть написано строчными буквами!
   * Объект cmd.   * Объект cmd.
 Объект команды. Подробнее см. ниже. Объект команды. Подробнее см. ниже.
-\\   
 <code js script.js> <code js script.js>
 sceditor.command.set('commandname', { sceditor.command.set('commandname', {
Строка 33: Строка 27:
 }); });
 </code> </code>
-\\   
 Чтобы добавить значок к команде, используйте следующий CSS-код: Чтобы добавить значок к команде, используйте следующий CSS-код:
-\\   
 <code css style.css> <code css style.css>
 .sceditor-button-[name] div { background: url('/images/icon.png'); } .sceditor-button-[name] div { background: url('/images/icon.png'); }
 </code> </code>
-\\   
 где **[name]** — это имя, используемое с **sceditor.command.set()**. Дополнительную информацию [[sceditor_doc_theming|см. в разделе «Тематическое оформление»]]. где **[name]** — это имя, используемое с **sceditor.command.set()**. Дополнительную информацию [[sceditor_doc_theming|см. в разделе «Тематическое оформление»]].
-\\   
 После создания команды вы можете добавить её на панель инструментов редактора с помощью опции [[sceditor#панель инструментов|«Панель инструментов»]]. После создания команды вы можете добавить её на панель инструментов редактора с помощью опции [[sceditor#панель инструментов|«Панель инструментов»]].
 ===== Структура объекта команды: ===== ===== Структура объекта команды: =====
 <code js script.js> <code js script.js>
 { {
- exec: undefined, +  exec: undefined, 
- errorMessage: undefined, +  errorMessage: undefined, 
- txtExec: undefined, +  txtExec: undefined, 
- tooltip: undefined+  tooltip: undefined
 } }
 </code> </code>
 +==== exec ====
 +=== **exec** String or function ===
 +Выполняется при щелчке по кнопке в режиме WYSIWYG.
 \\   \\  
 +Это должна быть либо строка, которая будет передана в нативную **execCommand()** функцию браузера.
 +\\  
 +Или функция, принимающая 1 аргумент caller. Функции thisбудут установлены на экземпляр редактора.
 +  * caller HTMLElement
 +Элемент HTML-кнопки с командами или null.
 +<code js script.js>
 +exec: function () {
 + this.insert('[b]Hello World[/b]');
 +}
 +</code>
 +<code js script.js>
 +// Bold will be passed to the native execCommand
 +exec: 'bold'
 +</code>
 +==== errorMessage ====
 +=== **errorMessage** String ===
 +Сообщение об ошибке, отображаемое в случае execсбоя при вызове нативных функций браузера **execCommand()**. Применяется только в том случае, если **exec** это строка.
 +==== shortcut ====
 +==== state ====
 +=== **state** String or function ===
 +Если **state** это строка, она будет передана в нативные **queryCommandEnabled** методы **queryCommandState** для получения состояния.
 +
 +Если **state** это функция, то в качестве аргументов ей будут переданы родительский узел и родительский узел firstBlock. Она должна возвращать значение **-1**, **0** или **1**
 +
 +  * -1 Отключено (недоступно для нажатия)
 +  * 0 Неактивен (состояние по умолчанию, можно нажать)
 +  * 1 Активен (отображается как нажатый)
 +==== txtExec ====
 +=== **txtExec** String or array ===
 +Это должен быть либо //массив//, содержащий 1-2 строки, либо //функция//.
 +
 +Если задан массив, содержащий две строки, то любое выделенное содержимое будет заключено в обе строки, а курсор будет перемещен перед последней из них. Если массив содержит только одну строку и при этом выделено какое-либо содержимое, то выделенное содержимое будет заменено, а курсор будет перемещен после вставленной строки.
 +
 +Если **txtExec** это функция, она должна принимать **1** аргумент **caller**. Функции **this** будут установлены в редакторе.
 +
 +caller HTMLElement Элемент HTML-кнопки с командами или null.
 +<code js script.js>
 +txtExec: function () {
 + this.insert('[b]Hello World[/b]');
 +}
 +</code>
 +<code js script.js>
 +txtExec: ['[b]', '[/b]']
 +</code>
 +==== tooltip ====
 +=== **tooltip** String ===
 +Всплывающая подсказка, которая отображается при наведении курсора мыши на команду.
 +=====Дополнения и Файлы =====
 +[[https://www.sceditor.com/documentation/custom-commands/|Ссылка на оригинальную статью]]
software/development/web/docs/web/wysiwyg/sceditor_doc_custom_commands.1767773776.txt.gz · Последнее изменение: VladPolskiy

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki