Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript复制富编辑器的内容_Javascript - Fatal编程技术网

使用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,它会正确地记录元素。我不知道该怎么看。