Chrome最近中断了在使用innerText设置的textarea中复制换行符的操作

时间:2019-02-22 01:47:21

标签: javascript html json string html5

前一段时间,我写了一个chrome扩展程序,它使用隐藏的textarea和copy命令技巧创建了一个特定的多行文本字符串并将其复制到剪贴板。它按预期复制了换行符(/ n)。

但是最近,我发现它不再复制换行符。只是字符串混在一起,没有换行符。

如何解决?

2 个答案:

答案 0 :(得分:1)

您应该在value上使用<textarea>,而不是innerText / innerHTML。您还可以看到<textarea>将换行符显示为\n

console.log(JSON.stringify(document.getElementById("text").value));
<textarea id="text">
Line One
Line Two
Line Three
</textarea>

答案 1 :(得分:0)

根据检查,当您将textarea的innerText设置为带有换行符的字符串时,该字符串的每一行都变成其自己的字符串,由
标记分隔,所有字符都在textarea的标记之间。

要修复此问题,我必须对其进行更改,以便将textarea的innerHTML设置为字符串,而不是使用innerText。现在,它将字符串保留为...带换行符的字符串,并且现在可以再次正确复制。