You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JS复制HTML元素文本时保留链接

修复富文本(含链接)复制到剪贴板的问题

你的代码核心问题是构造text/html类型的Blob时用了tempElem.innerText——这个属性只会提取纯文本,把所有HTML结构(包括链接标签)都丢了,自然复制后只剩文本。

直接把text/html对应的Blob内容换成tempElem.innerHTML就能保留完整的富文本结构,修正后的代码如下:

const tempElem: HTMLDivElement = document.createElement("div");
tempElem.innerHTML = responseBody;

console.log("running clipboard.write()....");

try {
  navigator.clipboard.write([
    new ClipboardItem({
      "text/html": new Blob([tempElem.innerHTML], {
        type: "text/html",
      }),
      "text/plain": new Blob([tempElem.innerText], {
        type: "text/plain",
      }),
    }),
  ]);

  console.log("Rich text copied to clipboard");
} catch (err) {
  console.error("Failed to copy: ", err);
}

额外提醒:

  • navigator.clipboard.write()只能在HTTPS环境或者localhost下正常运行,非安全环境会触发权限错误
  • 保留text/plain类型是为了兼容那些不支持富文本的粘贴场景,比如记事本这类纯文本编辑器

内容的提问来源于stack exchange,提问作者greg pinakapoging nilalang sa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 04:32:39