#tinymce #tinymce-5
Вопрос:
Я использую TinyMCE (облачную версию), чтобы позволить нашим клиентам создавать письма своим клиентам. В конечном итоге письмо будет распечатано и отправлено по почте, поэтому его необходимо ограничить стандартным размером страницы (8,5 на 11 дюймов) с отступом 0,5 дюйма.
Хотя я могу правильно настроить размер редактора, я, похоже, не могу запретить пользователю добавлять больше текста, чем поместится на странице.
Используя «ScrollContent», я могу определить, что пользователь прошел конец страницы, но нет способа помешать пользователю сделать это.
Запуск какой-то команды «отменить», чтобы отменить то, что пользователь только что ввел после прокрутки, может сработать, но я тоже не вижу, как это сделать.
Я открыт для других решений, которые могли бы достичь того же эффекта.
Любые рекомендации были бы полезны.
Вот что у меня есть на данный момент…
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.tiny.cloud/1/unkannrjx711f6op4gughgcl13j0s4jgcy5llzdp6bbh3x5l/tinymce/5/tinymce.min.js" referrerpolicy="origin"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
<style>
iframe, tox-edit-area, .page1, .mce-content-body {
height: 10.25in;
width: 7.5in;
max-height: 10in;
max-width: 7.5in;
resize: none;
overflow: hidden;
}
</style>
<textarea id="page1Top" class="page1" onscroll="myFunction()">Sample text</textarea>
<script>
tinymce.init({
selector: 'textarea',
anchor_top: '#page1Top',
height: 994,
width: 720,
plugins: '',
toolbar: '',
toolbar_mode: 'floating',
autoresize: false,
resize: false,
remove_trailing_brs: true,
setup: function(editor) {
//editor.on('init', function(e) { console.log('The Editor has initialized.'); } );
editor.on('ScrollContent', function(e) {
last_known_scroll_position = window.scrollY;
newPos = 0-last_known_scroll_position;
window.scroll(0,newPos);
console.log( newPos );
console.log( last_known_scroll_position );
});
}
});
</script>
</body>
</html>