Как установить первоначальный текст в текстовой области TinyMCE?

Сначала проверьте, можете ли вы выполнить поиск whois вручную с помощью этой команды whois google.com, если есть какая-либо ошибка, вам придется сначала установить whois, используя sudo apt-get install whois

10
задан KCP 5 March 2016 в 16:39
поделиться

5 ответов

Кажется, что я решил проблему, если нет никакие пограничные случаи, который разрушает решение. Я использую следующий код PHP содержания страницы, прежде чем я сохраню его к базе данных:

$content = str_replace(chr(10), "", $content);
$content = str_replace(chr(13), "", $content);
$content = str_ireplace('<','&#x200B;<',$content);

То, что это делает, является этим, удаляет любые новые строки, и затем предварительно ожидайте невидимый символ нулевой ширины перед любым начальным тэгом. Этот текст затем позже вставляется между тегами текстовой области, прежде чем TinyMCE сделает свое волшебство. Я не знаю, почему, но это не инициировало проблему, и добавленные символы не показывают в заключительном HTML или в представлении HTML TinyMCE, таким образом, единственные проблемы I видят с этим решением, хит производительности. Деталь - то, что кажется, что только теги запуска должны предварительно ожидаться таким образом, но я не принял это во внимание здесь для простоты.

0
ответ дан 3 December 2019 в 20:44
поделиться

Мы используем TinyMCE здесь в последнее время также. Я особенно озадачен об изменении атрибут стиля текстовой области для сокрытия элемента.Очень странно.

Мне любопытно, на что похож Ваш конфигурационный файл (некоторая документация относительно конфигурационных файлов в: django)


ОБНОВЛЕНИЕ

ошеломите..., Вы используете МНОГО tinyMCE плагинов. Я попытаюсь исследовать далее, когда я получу некоторое время и вижу, не могу ли я выяснить некоторых вероятных подозреваемых.

0
ответ дан 3 December 2019 в 20:44
поделиться

Если Вы не вызываете функцию JavaScript tinyMCE, Вам, вероятно, придется заниматься проблемами совместимости браузера.

Если у Вас только есть одно tinymce поле на странице, можно просто сделать это:

tinyMCE.activeEditor.setContent('<span>some</span>');

Можно также установить формат, такой как BBCode. Проверьте setContent документацию.

У меня было бы Ваше эхо кода PHP HTML в функцию JavaScript и называть его с onload:

function loadTinyMCE($html) {
    echo "
        <script type="text/javascript">function loadDefaultTinyMCEContent(){
             tinyMCE.activeEditor.setContent('$html');
        }</script>
    ";
}

затем

<body onload="loadDefaultTinyMCEContent()">

Если Вы не хотите использовать страницу onload событие, tinymce имеет init опцию, названную oninit, который функционирует так же.

С другой стороны, setupcontent_callback предоставляет Вам прямой доступ к iframe.

15
ответ дан 3 December 2019 в 20:44
поделиться

Тем вторым примером <текстовая область.../> является пустая нотация тега. Если Вы хотите, чтобы текст был в tage, необходимо сделать это как первый путь <teatarea....> нечто </текстовая область>

Что производит теги текстовой области? Можно ли отладить это, чтобы видеть, делает ли это пустую нотацию тега?

Eric

1
ответ дан 3 December 2019 в 20:44
поделиться

Учитывая, что наличие тегов

вызывает преобразование, я подозреваю, что ваш HTML-код заканчивается выглядит так:

...
<textarea id="editing_field"><p>This text is supposed to appear in the rich textbox</p></textarea>
...

К сожалению, элементы HTML технически не разрешены внутри тегов