自动保存用户的编辑器大小

Saving user's editor size automatically

在以前的 tinymce 版本中,高级主题可以在用户调整编辑器大小时将其保存为 cookie。下次用户打开同一页面时,大小将与他调整过的一样。

theme : "advanced"

我在目前的5.6版本中没有找到方法,在文档中也没有找到。

有人可以帮忙吗?

高级主题来自 TinyMCE 3.x(不再支持),TinyMCE 4(也不再支持)或 TinyMCE 5 中不存在类似主题。

在 TinyMCE 5 中,您可以依靠 TinyMCE 的 ResizeEditor 事件来尝试捕获当前编辑器的大小并将其存储在某个地方,您稍后可以在再次初始化编辑器时使用它来设置默认大小。

这是一个有效的 TinyMCE Fiddle,它展示了这一点: https://fiddle.tiny.cloud/mDhaab

有问题的代码在设置函数中:

setup: function (editor) {
    editor.on('ResizeEditor', function (e) {
        var editorContainer = document.getElementsByClassName("tox-tinymce");
        console.log(editorContainer[editor.id].style.height);
    });
}

我会注意到,这依赖于具有特定 class 名称的编辑器的 div。您还可以查找 div,它是被 TinyMCE 替换的文本区域的第一个兄弟。虽然 fiddle 不会这样做,但您可以将该值存储为 cookie(或在本地存储中)并在稍后初始化 TinyMCE 时重用它。