JS片段:如何将文本复制到剪贴板

在构建网站时,一个非常普遍的需求是能够通过单击按钮将文本复制到剪贴板。在现代浏览器中,使用navigator.clipboardAPI 访问系统剪切板,利用clipboard.writeText复制到剪贴板,再通过clipboard.readText获取剪贴板内容即可实现。

实现效果

复制到剪贴板

源码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><style>.copy {width: 300px;height: 100px;border: 1px solid saddlebrown;}</style></head><body><p>这是待复制的内容:如何将文本复制到剪贴板</p><button id="once">一键复制</button><button id="content">展示剪贴板内容</button><p class="copy"></p><script>const copyToClipboard = (str) => {if (navigator?.clipboard?.writeText) {return navigator?.clipboard?.writeText(str);}return Promise.reject();};const getCopyClipboard = () => {return navigator.clipboard.readText();};const btn = document.querySelector("#content");const p = document.querySelector(".copy");const once = document.querySelector('#once');once.addEventListener('click', (str) => {const p = document.querySelector('p');copyToClipboard(p.innerText).then(() => {alert('复制成功');})});btn.addEventListener("click", async () => {const copyContent = await getCopyClipboard();p.innerHTML = copyContent;});</script></body>
</html>

参考资料

  • Navigator:clipboard 属性

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

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

相关文章

GitLab的原理及应用详解(一)

本系列文章简介&#xff1a; 随着软件开发的不断进步和发展&#xff0c;版本控制系统成为了现代软件开发过程中不可或缺的一部分。而GitLab作为其中一种流行的版本控制工具&#xff0c;在软件开发领域享有广泛的应用。GitLab不仅提供了强大的版本控制功能&#xff0c;还集成了项…

springboot集成redis实现消息的订阅与发布

&#xff08;十九&#xff09;springboot实战——springboot集成redis实现消息的订阅与发布_springboot redis消息订阅-CSDN博客 https://blog.csdn.net/yprufeng/article/details/136151115 package com.yundi.atp.config;import org.springframework.context.annotation.Bea…

Linux x86_64 UEFI 启动

文章目录 前言一、UEFI二、Disk device compatibility2.1 GPT 磁盘分区表2.1.1 简介2.1.2 Linux 2.2 ESP&#xff08;EFI&#xff09; 文件系统2.2.1 简介2.2.2 LinuxLinux Kernel EFI Boot Stub 三、UEFI GPT grub23.1 简介3.2 引导方式 3.3 BOOTX64.EFI3.4 shimx64.efi3.5 …

DEV--C++小游戏(吃星星(1.2))

目录 吃星星&#xff08;1.2&#xff09; 该版本简介更新说明 分部代码 头文件命名空间变量 结构体 角色结构体 星星结构体 打印地图结构体 函数 函数声明 单人模式游戏函数 双人模式游戏函数 开始游戏函数 清屏函数 定点输出函数 隐藏光标函数 输入函数 单人…

wordpress子目录建站

在WordPress中建立在子目录的网站&#xff0c;你需要修改wp-config.php文件中的常量定义&#xff0c;使其指向正确的子目录路径。以下是修改步骤&#xff1a; 将WordPress安装包上传到你的子目录中。 解压缩安装包&#xff0c;如果你是通过FTP工具上传的&#xff0c;请确保上传…

React hooks - useReducer

useReducer 用法使用使用 Immer 更简单的编写 reducer 注意事项 用法 可同时更新多个状态&#xff0c;且能把对状态的修改从组件中独立出来&#xff0c;状态更新逻辑较复杂时可以考虑使用。代码逻辑更清晰&#xff0c;代码行为易预测&#xff1a;组件负责发出行为&#xff0c;…

通过Web网管切换到命令行界面【华为路由器】

一、注意事项 1.当前操作系统用户需要具有管理权限 2.设备仅呼出telnet客户端&#xff0c;设备仅发起telnet连接&#xff0c;不包括管理 3.不支持通过url地址或地址、端口的映射环境访问CLI控制台 二、准备条件 1.浏览器切换 CLI控制台只能使用IE浏览器&#xff0c;先把浏…

STM32自己从零开始实操02:输入部分原理图

一、触摸按键 1.1指路 项目需求&#xff1a; 4个触摸按键&#xff0c;主控芯片 TTP224N-BSBN&#xff08;嘉立创&#xff0c;封装 TSSOP-16&#xff09;&#xff0c;接入到 STM32 的 PE0&#xff0c;PE1&#xff0c;PE2&#xff0c;PE3。 1.2走路 1.2.1数据手册重要信息提…

SQL Server基础学习笔记

一. 什么是SQL Server&#xff1f; SQL Server是由微软公司开发的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它提供了存储、检索、处理和分析数据的功能。作为一种强大的数据库解决方案&#xff0c;SQL Server被广泛应用于企业级应用程序、Web应用程序、…

K8s之ku-be admin部署安装

目录 一、环境配置 1、机器部署 2、部署大致流程 二、实验环境配置 1、所有节点关闭防火墙核心防护以及关闭swap交换 2、所有节点安装docker 3、所有节点安装kubeadm&#xff0c;kubelet和kubectl 4、部署K8s集群 5、设定kubectl 6、所有节点部署网络插件flannel 7、…

netstat命令检查端口是否监听

要使用netstat命令检查端口是否监听&#xff0c;可以使用以下命令&#xff1a; netstat -tuln | grep <port>netstat -tuln 是一个常用的网络命令&#xff0c;用于显示系统的网络连接情况。这个命令的参数含义解释如下&#xff1a; -t 表示显示 TCP 协议的连接-u 表示显…

使用TensorFlow Lite Micro流程记录(带源码)

文章目录 0 关于tflite micro1 克隆仓库2 编译静态库3 模型转换4 编写工程5 编写demo5.1 进行算子注册 5.2 推理过程6 debug记录6.1 缺少算子 6.2 注册表太小6.3 段错误6.4 进一步减小库体积 7 实际部署 0 关于tflite micro 关于tflite micro在这里接不做过多介绍了&#xff0c…

2831. 找出最长等值子数组 Medium

给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 如果子数组中所有元素都相等&#xff0c;则认为子数组是一个 等值子数组 。注意&#xff0c;空数组是 等值子数组 。 从 nums 中删除最多 k 个元素后&#xff0c;返回可能的最长等值子数组的长度。 子数组 是数组中一…

javaSwing仓库商品管理系统(文档+视频+源码)

摘要 Java swing实现的一款简单的仓库商品管理系统&#xff0c;数据库采用的是mysql&#xff0c;本系统实现了两个角色层面的功能&#xff0c;管理员可以管理用户、仓库、商品信息等。普通用户登录后可以查看商品、仓库信息及个人信息。 系统实现 登录界面&#xff1a; 我们…

分布式音乐播放器适配了Stage模型

OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09;应用开发自API 8及其更早版本一直使用的是FA模型进行开发。FA模型是Feature Ability的缩写&#xff0c;它和PA&#xff08;Particle Ability&#xff09;两种类型是过往长期推广的术语&#xff0c;深入人心…

stm32常用编写C语言基础知识,条件编译,结构体等

位操作 宏定义#define 带参数的宏定义 条件编译 下面是头文件中常见的编译语句&#xff0c;其中_LED_H可以认为是一个编译段的名字。 下面代码表示满足某个条件&#xff0c;进行包含头文件的编译&#xff0c;SYSTEM_SUPPORT_OS可能是条件&#xff0c;当非0时&#xff0c;可以…

js代码控制bootstrap的模态框(modal)

在Bootstrap 5中&#xff0c;模态框&#xff08;Modal&#xff09;是一个自定义的HTML元素&#xff0c;可以用于创建对话框。通过导入Bootstrap的JavaScript模块&#xff0c;可以使用其API来控制模态框的显示和隐藏。以下是一个简单的示例说明如何使用Bootstrap 5中的模态框。 …

.NET8 动态添加定时任务(CRON Expression, Whatever)

需要使用 Quartz .NET <PackageReference Include"Quartz.AspNetCore"/>建立 Global JobKey public static class GlobalJobKey {public static JobKey CustomizedKey > new JobKey("xxx scheduled", "group1"); }建立 Job public clas…

前端发起请求的5种方式

好的&#xff0c;以下是针对上述五种方式的代码实现&#xff0c;每种方式都将使用给定的请求地址、请求方法&#xff08;POST&#xff09;、请求体和请求头来发送请求&#xff1a; XMLHttpRequest (XHR): var xhr new XMLHttpRequest(); var url "https://open.bigmod…

xorm和gorm数据库结构体当返回参数

我们在开发golang项目代码的时候&#xff0c;都会用到数据数据库工具&#xff0c;现在主流的就是xorm和gorm&#xff0c;然后我们一般会创建数据库表的结构体表单&#xff0c;如下所示&#xff1a; type Task struct {ID int64 gorm:"column:id;ty…