#tinymce
#tinymce
Вопрос:
У меня есть редактор tinymce в области администрирования, где я хочу использовать тег script. Используя следующее, я могу использовать тег и сохранять его. После этого я вижу его в базе данных как сохраненный. Но проблема в том, что когда я снова редактирую ту же страницу, и редактор предварительно загружает содержимое, он каким-то образом удаляет тег. Поэтому я не могу его увидеть и отредактировать снова.
valid_children : ' body[style], body[script]',
extended_valid_elements : '*[*]',
Поэтому, пожалуйста, дайте мне знать, если есть какой-либо способ остановить удаление этих тегов скрипта. Я попытался утешить журнал editor.getContent(), но он также показывает содержимое без тега, тогда как я вижу его в базе данных и исходном коде интерфейса.
Спасибо
Ответ №1:
Вероятно, вы сбиваетесь с пути, пытаясь загрузить закрывающий тег скрипта как часть строки в самом JavaScript.
Если у вас есть закрывающий тег script ( </script>
) в строке JavaScript, интерпретатор, скорее всего, интерпретирует это как закрытие вашего блока скрипта, а не часть содержимого в строке. Во многих случаях это просто полностью нарушит JavaScript страницы.
Вот пример в TinyMCE Fiddle, который показывает правильный способ передачи </script>
тега в строке: http://fiddle.tinymce.com/Fvhaab
Например:
tinymce.editors[0].setContent(`
<p>This is NEW content in TinyMCE!</p>
<script>
var x = "test";
var y = 10;
</script>
`);
… не будет работать. Если вы используете эту попытку для закрывающего тега сценария, вы увидите, что редактор вообще не отображается, поскольку этот закрывающий тег сценария преждевременно завершает весь раздел JavaScript.
Вместо этого вы можете экранировать /
в закрывающем теге сценария:
tinymce.editors[0].setContent(`
<p>This is NEW content in TinyMCE!</p>
<script>
var x = "test";
var y = 10;
</script>
`);
…и вы увидите, что скрипт загружен в TinyMCE, как и следовало ожидать.
Комментарии:
1. спасибо, но TinyMCE и преобразовать его так:<p> <script>// <! [CDATA[ var x = «test»; var y = 10; </script> // ]]></script> </p> и все еще не отображается в режиме редактирования.
2. Можете ли вы обновить скрипку, чтобы добиться такого результата?
3. Я не думаю, что смогу сделать это на fiddle, поскольку fiddle не сохранит содержимое редактора, и у меня возникли проблемы при редактировании (означает сохранить редактор со сценарием, а затем снова открыть его для редактирования содержимого).