如何使用innerHTML或innerText插入印象笔记富文本编辑器?

How to use innerHTML or innerText to insert into the Evernote editor which is the rich text editor?

我在这个 post how-to-insert-text-into-the-textarea-at-the-current-cursor-position 中使用 Jayant 的代码插入到 Evernote 编辑器中。

由于印象笔记编辑器是富文本编辑器,所以我把el.value改成了el.innerText,运行的时候,原来的格式打乱了,新的文字没有了光标所在的位置,它总是插入到编辑器的顶行。

那么如何使用innerHTML或innerText插入到印象笔记编辑器中呢?

function typeInTextarea(newText, el = document.activeElement) {
  const start = el.selectionStart
  const end = el.selectionEnd
  const text = el.innerText
  const before = text.substring(0, start)
  const after  = text.substring(end, text.length)
  el.innerText = (before + newText + after)
  el.selectionStart = el.selectionEnd = start + newText.length
  el.focus()
}

使用此代码并在 Chrome 中的 WYSIWYG HTML 编辑器中进行测试,它有效。

document.execCommand("insertText", "false", text);