Я не уверен, почему я не смог найти это, но кто-нибудь знает, как получить информацию от редактора TinyMCE? Я использую его во внешнем интерфейсе и хочу иметь возможность сохранить все, что пользователь ввел в TinyMCE, в базу данных, но не могу найти лучший способ получить это значение.
Два решения, которые я реализовал с некоторым успехом:
tinyMCE.activeEditor.getContent();
- Этот, кажется, получает только значение визуального редактора, поэтому, если я нахожусь в редакторе HTML и внесу изменения, а затем сохраню, они не будут обнаружены.$('#html_text_area_id').val();
- Это противоположность, это только кажется, чтобы получить значение редактора HTML.
Я знаю, что есть лучший способ - я просто не могу найти его ...
ps Да, я собираюсь принять меры безопасности, чтобы люди не могли взорвать базу данных.
val()
Ответы:
Хорошо, по-видимому, WordPress отслеживает, какой тип редактора (визуальный или HTML) активен как класс, который добавляется в оболочку содержимого, так что вот решение, которое даст вам новейший контент в редакторе.
источник
Это код, который я добавил в свой javascript прямо перед отправкой формы.
источник
Это сработало для меня:
Где описание - это идентификатор редактора tinymce и де-код после остального принятого ответа, у меня не сработало.
источник
Мне потребовалось намного больше кода, чтобы он заработал, а также получала ошибку javascript:
Deprecated TinyMCE API call: <target>.onKeyUp.add(..)
это было вызвано обновлением wordpress с 3.x до 4. Поэтому мне пришлосьclear my browser cache
сначала.Во-первых, я добавил обратный вызов для wp-фильтра
tiny_mce_before_init
в моем файле functions.php, это позволило мне добавить функцию обратного вызова js, которая будет запускаться при инициализации редакторов:Затем функция javascript, которая делает то, что когда-либо требуется с контентом, когда он изменяется. Добавьте этот javascript, используя wp_enqueue_scripts, на нужную страницу.
Код работал, когда я использовал следующее для печати редактора на любой странице:
источник
Вы можете получить содержимое в зависимости от текущего режима редактора.
На вкладке Visual есть класс,
switch-tmce
который вы можете использовать для идентификации его как вкладки. Вы бы знали, что он был сфокусирован, если он имеет более светлый цвет фона. Таким образом, вы также можете использовать это, чтобы определить, какая из двух вкладок активна.Это адаптивное решение , основанное на Bainternet «s ответ . Возможно, есть и другие лучшие способы сделать это, но этот работал хорошо для меня.
источник
Вы также можете использовать
addeditor
событие:Документация о событиях TinyMCE 'additor'
источник