将内容复制到剪贴板?分享 1 段优质 JS 代码片段!
大家好,我是大澈!
本文约 600+ 字,整篇阅读约需 1 分钟。
每日分享一段优质代码片段。
今天分享一段 JS 代码片段,使用 Clipboard API 实现将内容复制到剪贴板。
老规矩,先阅读代码片段并思考,再看代码解析再思考,最后评论区留下你的见解!
const text = document.getElementById('textToCopy').value;
try {await navigator.clipboard.writeText(text);alert('内容已复制到剪贴板');
} catch (err) {console.error('复制失败:', err);
}
分享原因
这段代码展示了如何使用现代浏览器提供的 Clipboard API 将文本复制到剪贴板。
这是一个常见且实用的功能,特别是在处理用户输入和需要快速复制内容的场景中。
与传统方法 document.execCommand('copy'); 相比,Clipboard API 提供了更安全、更简洁的实现方式。
代码解析
1. const text = document.getElementById('textToCopy').value;
通过 document.getElementById 获取输入框的元素。
使用 .value 属性获取输入框中的文本内容,并存储在 text 变量中。
2. await navigator.clipboard.writeText(text);
使用 navigator.clipboard.writeText(text) 方法将文本内容写入剪贴板。
await 关键字使得操作是异步的,等待复制操作完成。
如果复制成功,弹出提示框通知用户内容已复制。
如果复制失败,捕获错误并在控制台中输出错误信息。
3. 拓展 navigator.clipboard.readText();
剪贴板读取文本内容。
返回一个Promise,当成功读取剪贴板内容时解析。
- end -
相关文章:
将内容复制到剪贴板?分享 1 段优质 JS 代码片段!
大家好,我是大澈! 本文约 600 字,整篇阅读约需 1 分钟。 每日分享一段优质代码片段。 今天分享一段 JS 代码片段,使用 Clipboard API 实现将内容复制到剪贴板。 老规矩,先阅读代码片段并思考,再看代码解析…...
MAS0902量产工具分享,MAS0902A开卡教程,MAS0901量产工具下载
MAS0902和MAS1102都是基于SATA3.2技术开发的DRAM-less SSD控制芯片,简单来说就是SATA协议无缓存主控。下面是我摸索的麦光黑金300 240G SSD开卡修复简易教程,也就是MAS0902量产过程: 注意:开卡转接线必须要用ASM1153E或JMS578主控…...
从我邮毕业啦!!!
引言 时间过的好快,转眼间就要从北邮毕业了,距离上一次月度总结又过去了两个月,故作本次总结。 PS: https://github.com/WeiXiao-Hyy/blog整理了后端开发的知识网络,欢迎Star! 毕业🎓 6月1号完成了自己的…...
gemini 1.5 flash (node项目)
https://www.npmjs.com/package/google/generative-ai https://ai.google.dev/pricing?hlzh-cn https://aistudio.google.com/app/apikey https://ai.google.dev/gemini-api/docs/models/gemini?hlzh-cn#gemini-1.5-flash https://ai.google.dev/gemini-api/docs/get-started…...
在线字节大端序小端序转换器
具体请前往:在线字节大端序小端序转换器...
css_17_背景属性鼠标属性
一.背景属性 -属性值:background-color(设置背景颜色) 默认背景颜色是 transparent。 -属性值:background-image(设置背景图片) url(图片的地址) -属性值:background-re…...
Python hash编码(go hash编码)
id"中国人" 首先,go语言hash: import (mmh3 "murmurhash3") mmh3.Murmurhash3([]byte(id)) 对应到Python hash编码,可以直接使用mmh3 import mmh3 mmh3.hash(id,signedFalse) 其源码可以表示为 def sum32WithSeed(datas, seed…...
004 插入排序(lua)
文章目录 123 1 -- Lua中没有类和方法的概念,所以我们将所有功能都写在一个脚本中 -- 交换数组中两个元素的功能 local function swap(arr, i, j) local temp arr[i] arr[i] arr[j] arr[j] temp end -- 插入排序算法的实现 local function insertionS…...
计算机网络 —— 基本概念
基本概念 1. 通信协议2. 面向连接 v.s. 面向无连接3. 电路交换 v.s. 分组交换4. 单工通信 v.s. 双工通信 1. 通信协议 通信协议就是计算机与计算机之间通过网络实现通信时事先达成的一种“约定”。这种“约定”使那些由不同厂商的设备、不同的CPU 以及不同的操作系统组成的计算…...
高精度除法的实现
高精度除法与高精度加法的定义、前置过程都是大致相同的,如果想了解具体内容,可以移步至我的这篇博客:高精度加法计算的实现 在这里就不再详细讲解,只讲解主体过程qwq 主体过程 高精度除法的原理和小学学习的竖式除法是一样的。 …...
STM32CUBEMX配置USB虚拟串口
STM32CUBEMX配置USB虚拟串口 cubemx上默认配置即可。 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 配置完后生成工程,主要就是要知道串口的收发接口就行了。 发送:CDC_Transmit_FS(),同时记得包含头文件#include “…...
安卓开发中margin和padding的区别
在 Android 开发中,margin 和 padding 都是用来定义视图(View)的空间属性,但它们的作用和应用场景有所不同: Margin(外边距): Margin 是视图与其他视图之间的空间。它定义了视图之间…...
Symfony事件调度系统:掌控应用程序生命周期的钥匙
Symfony事件调度系统:掌控应用程序生命周期的钥匙 引言 Symfony是一个高度灵活的PHP框架,用于构建各种规模的Web应用程序。它的核心特性之一是事件调度系统,该系统允许开发者在应用程序的生命周期中触发和监听事件。这种机制为开发者提供了…...
maven安装jar和pom到本地仓库
举例子我们要将 elastic-job-spring-boot-starter安装到本地的maven仓库,如下: <dependency><groupId>com.github.yinjihuan</groupId><artifactId>elastic-job-spring-boot-starter</artifactId><version>1.0.5&l…...
[leetcode]assign-cookies. 分发饼干
. - 力扣(LeetCode) class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(), g.end());sort(s.begin(), s.end());int m g.size(), n s.size();int count 0;for (int i 0, j 0; i…...
如何轻松解决复杂文档格式转换问题
上周,我遇到了一个棘手的问题:需要将一大堆PDF文件转换成可编辑的Word文档,时间紧迫,手动转换根本来不及。朋友推荐我使用了一个网站——xuelin.cc,这个网站不仅提供强大的AI对话功能,还能轻松完成各种文档…...
日期类(java)
文章目录 第一代日期类 Date常用构造方法SimpleDateFormat 日期格式化类日期转字符串(String -> Date)字符串转日期 (String->Date) 第二代日期类 Calendar常用字段与如何得到实例对象相关 API 第三代日期类(LocalDate\TIme)日期,时间&…...
【深度学习】C++ Tensorrt Yolov8 目标检测推理
C Tensorrt Yolov8 目标检测推理 模型导出代码yolov8.hyolov8.cppcommon.hppCMakeListmain.cpp C tensorrt对yolov8目标检测模型进行推理。 Windows版本下只需要修改common.hpp对文件的判断S_ISREG 和对文件夹的判断S_ISDIR即可,非核心代码,不调用删掉都…...
【项目日记(二)】搜索引擎-索引制作
❣博主主页: 33的博客❣ ▶️文章专栏分类:项目日记◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你了解更多项目内容 目录 1.前言2.索引结构2.1创捷索引2.2根据索引查询2.3新增文档2.4内存索引保存到磁盘2.5把…...
K 近邻、K-NN 算法图文详解
1. 为什么学习KNN算法 KNN是监督学习分类算法,主要解决现实生活中分类问题。根据目标的不同将监督学习任务分为了分类学习及回归预测问题。 KNN(K-Nearest Neihbor,KNN)K近邻是机器学习算法中理论最简单,最好理解的算法…...
基于ESP8266与Adafruit IO的智能家居安防系统实战指南
1. 项目概述与核心思路智能家居安防听起来是个大工程,但它的核心逻辑其实很直接:让家里的各种传感器“开口说话”,并把它们的状态实时呈现在你面前,让你无论在哪都能对家里的情况了如指掌。这个项目就是一个绝佳的入门实践&#x…...
clwatch:AI编码工具版本监控与变更管理解决方案
1. 项目概述:一个为AI编码工具而生的“版本雷达”如果你和我一样,日常工作中重度依赖Claude Code、Codex CLI这类AI编码工具,那你一定遇到过这个痛点:你永远不知道你用的工具什么时候又悄悄更新了。新版本可能带来了梦寐以求的功能…...
开发者技能编织:从点状学习到系统构建的成长框架
1. 项目概述:编织你的开发者技能树“plaited/development-skills”这个项目标题,乍一看可能有点抽象,但如果你把它拆开,就能立刻明白它的核心价值。“Plaited”是“编织”的意思,而“development-skills”直译就是“开…...
CSL编辑器终极指南:5分钟掌握高效学术引用样式管理
CSL编辑器终极指南:5分钟掌握高效学术引用样式管理 【免费下载链接】csl-editor cslEditorLib - A HTML 5 library for searching and editing CSL styles 项目地址: https://gitcode.com/gh_mirrors/csl/csl-editor 您是否在学术写作中为复杂的引用格式而烦…...
配置Hermes Agent使用自定义供应商接入Taotoken的详细步骤
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 配置Hermes Agent使用自定义供应商接入Taotoken的详细步骤 对于使用Hermes Agent框架的开发者而言,有时需要接入特定的…...
RoboSense RS-LiDAR-16点云处理实战:栅格地面分割算法调参全记录
RoboSense RS-LiDAR-16点云处理实战:栅格地面分割算法调参全记录 去年夏天,当我第一次拿到RoboSense RS-LiDAR-16采集的城市道路点云数据时,面对海量的三维空间信息,最迫切的需求就是快速区分地面点和障碍物点。这个看似基础的任务…...
书匠策AI(http://www.shujiangce.com)深夜偷偷更新了期刊论文功能?
各位科研人,晚上好。 我是那个天天在评论区被你们催更"到底怎么写期刊论文"的教育博主。今天不煽情、不灌鸡汤,直接带你们看一个我最近"偷偷用了一周"的东西——书匠策AI(官网:http://www.shujiangce.com&am…...
我的世界勇者之章3整合包下载v3.11.5最新版2026下载
一、整合包整体定位与风格基调 勇者之章 3 v3.11.5 是一款主打魔法休闲与田园生存的单人向我的世界整合包,整体摒弃高强度对抗类内容,以治愈慢生活为核心设计理念,适配休闲养老、建筑创作、自然探索类玩家群体。整合包经过深度优化调试&…...
用Python玩转大疆Tello无人机:从键盘控制到手势飞行的保姆级实战教程
用Python玩转大疆Tello无人机:从键盘控制到手势飞行的保姆级实战教程 当第一次看到大疆Tello无人机在室内灵巧地完成翻滚动作时,我就被这个巴掌大的飞行器彻底征服了。作为一款专为编程教育设计的迷你无人机,Tello不仅具备稳定的飞行性能&…...
从零构建私有化AI智能体中枢:Comobot部署、编排与生产实践
1. 项目概述:从零构建你的私有化智能体中枢如果你和我一样,对市面上的AI助手既爱又恨——爱其智能,恨其不可控、数据隐私的担忧以及无法深度融入自己的工作流——那么,Comobot这个项目或许能让你眼前一亮。它不是一个简单的聊天机…...
