使用Javascript复制富编辑器的内容
我的页面上有一个富文本编辑器,特别是这一个: 我需要将此编辑器的内容复制到不同网站上的不同富文本编辑器中 我可以手动执行此操作,方法是选择编辑器的内容并复制它。当我粘贴到目标编辑器中时,我得到了正确的结果:文本的格式与原始编辑器中的格式一样,包括链接等 问题是,我需要使用“复制到剪贴板”按钮执行同样的操作。我已尝试直接在编辑器元素上使用此选项:使用Javascript复制富编辑器的内容,javascript,Javascript,我的页面上有一个富文本编辑器,特别是这一个: 我需要将此编辑器的内容复制到不同网站上的不同富文本编辑器中 我可以手动执行此操作,方法是选择编辑器的内容并复制它。当我粘贴到目标编辑器中时,我得到了正确的结果:文本的格式与原始编辑器中的格式一样,包括链接等 问题是,我需要使用“复制到剪贴板”按钮执行同样的操作。我已尝试直接在编辑器元素上使用此选项: editor.select(); document.execCommand("copy"); …但剪贴板中没有任何内容。我曾尝试将
editor.select();
document.execCommand("copy");
…但剪贴板中没有任何内容。我曾尝试将内容放入一个常规的输入元素中,然后从中执行上述操作,但当我粘贴到目标编辑器中时,得到的是原始HTML而不是格式化文本
简而言之,如果内容编辑器是这样的
One line
Two lines
…我需要它粘贴到我重申的目标,在不同的网站上,像这样
One line
Two lines
…而不是像这样:
<p>One line</p><p>Two lines</p>
我已经做了一段时间了,我终于得到了它!vue2编辑器的文本编辑器使用contenteditable div。这就是为什么不能使用.select方法。使用 控制台。日志选择; const e=document.querySelectorapp.ql编辑器; const textNode=e.childNodes[0]; const r=document.createRange; 常数startIndex=0; r、 setStarte,startIndex; r、 塞滕德,e.儿童长度; const s=window.getSelection; s、 移除所有范围; s、 艾德兰格; document.execCommandcopy
我不是vue专家,这就是为什么我不使用REF的原因,我相信你应该是一个例子来说明我的意思。我在这方面工作了一段时间,终于得到了它!vue2编辑器的文本编辑器使用contenteditable div。这就是为什么不能使用.select方法。使用 控制台。日志选择; const e=document.querySelectorapp.ql编辑器; const textNode=e.childNodes[0]; const r=document.createRange; 常数startIndex=0; r、 setStarte,startIndex; r、 塞滕德,e.儿童长度; const s=window.getSelection; s、 移除所有范围; s、 艾德兰格; document.execCommandcopy
我不是vue专家,这就是我不使用refs的原因,我相信您应该是一个例子来说明我的意思。来自MDN:注意:document.execCommand仅在作为用户交互的一部分调用时返回true。这是什么意思?它发生在单击按钮时…尝试在之后添加调试断点。选择这种方式,您可以直观地看到是否正在选择它。然后您就会知道问题是在.select行中还是在.exece命令行中。@Zachiah我在控制台中得到一个错误,说editor.select不是一个函数。但是如果我使用console.logeditor,它会正确地记录元素。我不知道该怎么解释。从MDN:注意:document.execCommand仅在作为用户交互的一部分调用时返回true。这是什么意思?它发生在单击按钮时…尝试在之后添加调试断点。选择这种方式,您可以直观地看到是否正在选择它。然后您就会知道问题是在.select行中还是在.exece命令行中。@Zachiah我在控制台中得到一个错误,说editor.select不是一个函数。但是如果我使用console.logeditor,它会正确地记录元素。我不知道该怎么看。