3

我们的目标:

我们需要StackEdit编辑器在文本框所在的位置准确呈现(TinyMCE 和其他编辑器的方式),而不是在模式/全屏/覆盖 HTML 页面上的整个 UI 中呈现它。

我们正在尝试在我们的应用程序中实现https://stackedit.io/标记编辑器。为此,我们在以下本地 url设置了https://github.com/benweet/stackedit的本地实例,例如https://localhost:4433

这将作为一个本地端点http://localhost:8080/app以https://stackedit.io/app的方式为stackedit 编辑器提供服务。我们设置了一个本地实例,以便编辑器渲染 StackEdit 域本身的远程端点不应该命中。

为了使用该端点并在 html 页面上使用 stackit 编辑器,我们使用https://benweet.github.io/stackedit.js/并编写以下代码来呈现编辑器:

var el = document.querySelector('textarea');
    var stackedit = new Stackedit({
        url: 'https://localhost:4433/app'
    });

// Open the iframe
stackedit.openFile({
    name: 'Filename', // with an optional filename
    content: {
        text: el.value // and the Markdown content.
    }
});

// Listen to StackEdit events and apply the changes to the textarea.
stackedit.on('fileChange', (file) => {
    el.value = file.content.text;
});

我们从https://benweet.github.io/stackedit.js/获取了该代码

上述实现的问题是编辑器呈现为模式并隐藏了 html 页面上的所有 UI。这是它的呈现方式:

在此处输入图像描述

这不是我们需要的。在我们的应用程序中,单个页面上会有多个编辑器,并且将该编辑器设置为全屏或模态将无法使用。我们对编辑器的期望是让 StackEditor 像流行的 TinyMCE 编辑器一样呈现,即它应该被呈现在文本框所在的相同位置。

TinyMCE 编辑器:

在此处输入图像描述

StackExchange 编辑器是这样来的:

/

所以回到我原来的问题,是否可以使用 StackEdit 在文本框而不是模式或全屏的地方实现编辑器?

编辑:

我去了以下具有类似请求的链接,但也没有成功:

https://github.com/benweet/stackedit.js/issues/10

https://github.com/benweet/stackedit.js/issues/14

https://github.com/benweet/stackedit.js/issues/26

4

0 回答 0