在文本编辑器(例如Word)中粘贴时,复制的HTML文本以一种奇怪的方式包装



这可能是一个愚蠢的问题,但我正在编写我的第一个应用程序,遇到了一个问题。我正在开发一个格式化引用的应用程序。用户填写表格,应用程序使用输入数据格式化引用,然后输出格式化的文本。格式化后的文本将显示在一个按钮旁边,用于将其复制到剪贴板。

我实现了一个简单的例子来尝试它,并设法复制了文本并保留了格式。然而,当粘贴它时,它会以一种奇怪的方式包裹起来。

HTML:

<style>
.text {
color: red;
font-size: 37px;
font-family: "Arial";
overflow-wrap: anywhere;
}
</style>
<body>
<p class="text">This <b>is <em> some</b> formatted</em> text <em>for</em> testing purposes.</em></p>
<button class="copy">Copy text</button>
</body>

JS-

document.querySelector(".copy").addEventListener("click", function (e) {
e.preventDefault();
navigator.clipboard.writeText(document.querySelector(".text"));
});

显示文本分割单词"的屏幕截图;测试";减半并打破

提前谢谢。

anywhere允许文本在单词内部换行。normal只会在单词之间中断,但我怀疑你想要的是除了段落之间没有中断的连续文本,所以Word会代替CSS来进行格式设置。这意味着去掉overflow-wrap指令,添加overflow: scroll

记住,当你点击按钮时,你的CSS不会被复制,所以文本编辑器不会意识到这一点

最新更新