JS实现复制富文本到剪贴板/粘贴板的最佳实践

news2025/7/14 8:14:20

背景

最近有想实现一个功能,通过点击一个button按钮,来复制网页内容(含html)来实现复制后粘贴到邮件或者word具有富文本的效果。在网站翻了一些资料,要么就是方法已经被弃用,要么就是兼容性特别差,要么就是不能复制成为富文本。最后还是通过clipboard-polyfill.js(https://github.com/lgarron/clipboard-polyfill)来解决了问题。下面来介绍怎么使用。

使用
  1. npm install clipboard-polyfill
    然后从node_modules dist文件夹里面找出来核心的js(clipboard-polyfill.js)放于html同级目录。
    在这里插入图片描述
  2. 编写html,实现复制功能。
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>gen_codereview</title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
    </script>
    <script src="clipboard-polyfill.js">
    </script>
    <script>
      $(document).ready(function(){
        $("#btn1").click(() =>{
          var item = new clipboard.ClipboardItem({
            "text/html": new Blob(
              [document.getElementById('div1').outerHTML],
              { type: "text/html" }
            )
          });
          clipboard.write([item]);
          alert('复制成功,请前去word粘贴')
        })
      });
    </script>
</head>
<body>
<button id="btn1">
    点击复制如下div内容
</button>
<div contenteditable="true" id="div1" style="font-size: 12px;border: 1px dashed;margin-top: 20px;padding: 10px;width: fit-content;color: red;">
    this is content
</div>
</body>
</html>
  1. 页面展示如下,点击按钮复制。
    在这里插入图片描述
  2. 进入work,粘贴内容效果如下。
    在这里插入图片描述
结语

今天的内容就先分享到这里,使用过程中有什么问题,欢迎下方留言讨论哟。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/17754.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML做一个简单漂亮的旅游网页(纯html代码)重庆旅游 7页

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 家游景点介绍 | 旅游风景区 | 家乡介绍 | 等网站的设计与制作 | HTML期末大学生网页设计作业 HTML&#xff1a;结构 CSS&#xff1a;样式 在操作方面…

HTML+CSS简单漫画网页设计成品--(红猪(9页)带注释)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 网页设计作业 | 动漫网页设计 | 动漫网页设计成品 | 动漫网页设计成品模板 | 简单漫画网页设计成品 | HTML期末大学生网页设计作业&#xff0c;Web大学…

Linux自建RustDesk中继服务器

向日葵、ToDesk&#xff0c;想控制手机。【收费】、【收费】、【收费】、【收费】 作为编程人员&#xff0c;这钱我有点不想花。手里有常开机电脑&#xff0c;于是我萌生想法&#xff0c;使用frp做代理&#xff0c;用adb命令将手机的屏幕截图后展示在网页上&#xff0c;按秒刷…

布谷鸟搜索算法的改进及其在优化问题中的应用(Matlab代码实现)

&#x1f352;&#x1f352;&#x1f352;欢迎关注&#x1f308;&#x1f308;&#x1f308; &#x1f4dd;个人主页&#xff1a;我爱Matlab &#x1f44d;点赞➕评论➕收藏 养成习惯&#xff08;一键三连&#xff09;&#x1f33b;&#x1f33b;&#x1f33b; &#x1f34c;希…

GIS重投影的方法

ArcGIS修改地理坐标系/投影坐标系 把坐标系修改为和已知数据坐标系相同&#xff0c;使之能正常显示数据 加载数据&#xff0c;若加载数据的过程中&#xff0c;出现以下提示&#xff0c;则说明坐标系不一致&#xff0c;建议转换。 首先给数据框设置一个坐标系&#xff0c;该坐…

STC51单片机31——红外遥控收发代码

发射部分代码&#xff1a; #include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit P20P2^0; //发射引脚 sbit P10P1^0; sbit P11P1^1; uchar k; void delay() { uchar j,i; for(i0;i<255l;i) for(j0;j<255;j) ; } void…

明道云在艾默生数字化实践的新进展

本文来自艾默生电气IT经理丁元才&#xff0c;在明道云2022年秋季伙伴大会活动演讲&#xff0c;经校对编辑后整理为演讲精华。 大家早上好&#xff0c;今天我讲的主题叫《明道云在艾默生数字化实践的新进展》。这个“新进展”刚好契合明道云今天的大会主题——新力量、新希望。…

完美收官 | IOTE第十八届国际物联网展精彩落幕,美格智能参展回顾

11月15日-17日&#xff0c;由深圳市物联网产业协会主办&#xff0c;深圳市物联传媒有限公司、深圳市易信物联网络有限公司承办的第十八届IOTE国际物联网博览会以“数智芯生&#xff0c;云端共创”为主题&#xff0c;在深圳国际会展中心&#xff08;宝安&#xff09;17号馆盛大召…

如何根据项目的eslint去配置vscode的setting

文章目录一、安装 必要的插件1-1 Eslint1-2 Prettier-Code formatter1-3 安装Vetur二、配置相关文件2-1 配置 setting.json2-1-1 找到setting.json文件配置vscode2-1-2 在文件中添加如下配置2-2 配置 .eslintrc.js2-3 配置 .editorconfig2-4 配置.eslintignore三、之前配置记录…

基于80C51单片机的经纬度定位显示装置设计

目 录 摘要&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#…

使用Vitis HLS生成 IP核 (verilog版和图形化版)

文章目录实验一、 自动旋转式栅门1.1 实验题目1.2 实验建模1.2.1 Verilog建模IP1.2.2 图形化建模IP1.3 实验总结实验二、 餐巾纸售货机2.1 实验题目2.2 实验建模2.2.1 Verilog建模IP2.2.2 图形化建模IP2.3 实验总结实验一、 自动旋转式栅门 1.1 实验题目 旋转式栅门是一个由三…

基于SpringBoot的共享单车管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SpringBoot 前端&#xff1a;采用HTML和Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Mav…

一款轻量级的NuGet服务器

一、简介 BaGet (发音为“baguette”) 是一个轻量级的 NuGet、Symbol 服务器。它是开源的、跨平台的和云化的&#xff0c;可以运行再自己得电脑、Docker、Azure、AWS、Google Cloud 、Alibaba Cloud (Aliyun) 等。支持 MySQL、SQLite:、SqlServer、PostgreSQL、Azure Table St…

XSS-labs靶场实战(七)——第16-18关

今天继续给大家介绍渗透测试相关知识&#xff0c;本文主要内容是XSS-labs靶场实战第16-18关。 免责声明&#xff1a; 本文所介绍的内容仅做学习交流使用&#xff0c;严禁利用文中技术进行非法行为&#xff0c;否则造成一切严重后果自负&#xff01; 再次强调&#xff1a;严禁对…

Windows系统封装初始化工具sysprep

Windows系统封装初始化工具sysprep Sysprep简介 Sysprep程序是微软公司用来配置Microsoft Windows全新安装的一个工具&#xff0c;是为方便企业用户部署系统而设计的。 Sysprep&#xff08;系统准备&#xff09;可以准备 Windows 客户端或 Windows Server 安装以生成映像。 Sys…

7.2 Verilog 文件操作

Verilog提供了很多可以对文件进行操作的系统任务。经常使用的系统任务主要包括&#xff1a; 文件开、闭&#xff1a;$fopen, $fclose, $ferror文件写入&#xff1a;$fdisplay, $fwrite, $fstrobe, $fmonitor字符串写入&#xff1a;$sformat, $swrite文件读取&#xff1a;$fget…

计算机毕业设计ssm+vue+elementUI 校园短期闲置资源置换平台

项目介绍 随着互联网时代的到来&#xff0c;人们的生活结构发生了很大的变化&#xff0c;网上交易占据了人们日常交易的很大一部分&#xff0c;这个比例还会继续增长。社会在飞速发展同时伴随着问题的出现&#xff0c;生活节奏的加快&#xff0c;使闲置物品处理成了一个突出问…

VFP发送XML与MSSQL的互操作, 解决一个传大表查询的大大大问题

瓜哥有个需求场景&#xff0c;比如要按订单号查一批订单&#xff0c;数量2w个&#xff0c;如果用in拼接要写好长的语句&#xff0c;用string_split又限制长度8000。所以想想有什么什么好招。 瓜哥就是MYFLL作者木瓜大侠 那就可以传入XML&#xff0c;让MSSQL把XML解析成表&#…

【实验十二】决策树判断你是否可学python

一、实验目的 1.熟练安装scikit-learn扩展库(本库有许多依赖库&#xff0c;如该库建立在NumPy&#xff0c;SciPy和matplotlib之上&#xff0c;一般要先安装这些扩展库后&#xff0c;再安装。当然在线安装的话也会一次性将依依赖库安装完&#xff0c;前提是这些库的网站能连上)…

(杂谈)世界上本没什么prompt,有的只是加权平均——关于NLP中embedding的一点思考

&#xff08;杂谈&#xff09;世界上本没什么prompt&#xff0c;有的只是加权平均——关于NLP中embedding的一点思考0. 写在前面1. 问题的提出2. 备受嫌弃的NSP&#xff0c;为什么效果不佳2. 比句子更小的片段——Span Bert3. 更加纯粹的表示方法——PURE4. 风光无限的prompt&a…