如何在不更改的情况下将HTML标记复制到剪贴板

How to copy HTML tags to clipboard without changes?

本文关键字:HTML 复制 剪贴板 情况下      更新时间:2023-09-26

我使用这个SO答案在用户点击时使用纯JavaScript复制页面内容。然而,我的内容包含HTML标签:

<script>http://localhost:3000/widget/174b6b69bcf352803a00</script>

当从剪贴板粘贴时,它会变成这样:

&lt;script&gt;http://localhost:3000/widget/174b6b69bcf352803a00&lt;/script&gt;

如何将其还原?

使用innerText而不是innerHTML来获得其中没有HTML标记的纯文本版本。

这里有一种解析HTML实体的方法:

function parseHTMLEntities(htmlString) {
  var e = document.createElement("div");
  e.innerHTML = htmlString;
  return e.innerText;
}
// use like this :
var text = parseHTMLEntities("&lt;script&gt;http://localhost:3000/widget/174b6b69bcf352803a00&lt;/script&gt;");
alert(text);

我把URI ecoding误认为是HTML实体。。。

那是个愚蠢的错误。。。

看到这个问题:

如何使用纯JavaScript 将字符转换为HTML实体