copy-to-clipboard 网站复制粘贴 三分钟入门

目录

一、介绍和安装

(1)介绍

(2)安装

二、示例

(1)示例效果演示

(2)示例视频演示

(3)示例代码


一、介绍和安装

(1)介绍

        copy-to-clipboard 是一个轻量级的 JavaScript 库,用于将文本内容复制到剪贴板。它提供了一种简单且跨浏览器的方式来实现复制到剪贴板的功能,避免了直接操作 DOM 和处理不同浏览器兼容性问题的复杂性。

(2)安装

npm install copy-to-clipboard --save

二、示例

(1)示例效果演示

(2)示例视频演示

copy-to-clipboard实现复制粘贴_哔哩哔哩_bilibilicopy-to-clipboard实现复制粘贴, 视频播放量 72、弹幕量 0、点赞数 2、投硬币枚数 0、收藏人数 1、转发人数 0, 视频作者 刚入门的程序员, 作者简介 软件订做,源码获取个人v:wx_grmdcxy,相关视频:【从0带做】房屋租赁系统,基于Springboot3+Vue3的贝贝租房网,租房平台,可用于毕业设计、课程设计、实习项目,7.求数列中的最大值和最小值,【Java面试】字节一面:Sentinel 采用的是什么限流算法?,【PR教程】2025最流行的100个转场思路,让你的视频衔接比德芙更丝滑,方法+实操全方位讲解,学PR转场这一套就够了!建议收藏!!,【全24集】最全网络设备从工作原理到基本配置教程!通俗易懂,2025最新版,学完即可就业!交换机/路由器/防火墙/无线设备,9.理解合并排序,搞不懂二次线及附件?这份超全介绍来帮你,【科普】游戏开发人员都该掌握的图形基础知识|什么是Mipmap?,【小白讲PS】OHHH~这个融球技法也太哇塞了吧!,10.合并排序代码讲解https://www.bilibili.com/video/BV1GLe9zrEck/

(3)示例代码

<template><div class="copyboard-container"><h1>简易剪贴板</h1><!-- 主要复制区域 --><div class="copy-section"><div class="button-group"><button class="copy-btn" @click="copyText" :disabled="!textToCopy.trim()">{{ copyStatus }}</button><button class="paste-btn" @click="pasteText">粘贴文本</button><button class="clear-btn" @click="clearText" :disabled="!textToCopy.trim()">清空</button></div><label for="textToCopy">输入要复制的文本:</label><textareaid="textToCopy"v-model="textToCopy"placeholder="在此输入要复制的文本..."rows="6"></textarea></div></div>
</template><script setup>
import { ref } from "vue";//npm install copy-to-clipboard 安装
import copy from "copy-to-clipboard";// 状态变量
const textToCopy = ref("");
const copyStatus = ref("复制到剪贴板");// 复制文本到剪贴板
const copyText = () => {if (!textToCopy.value.trim()) return;try {const success = copy(textToCopy.value);if (success) {// 更新状态提示copyStatus.value = "复制成功!";setTimeout(() => {copyStatus.value = "复制到剪贴板";}, 2000);} else {copyStatus.value = "复制失败";setTimeout(() => {copyStatus.value = "复制到剪贴板";}, 2000);}} catch (error) {console.error("复制操作失败:", error);copyStatus.value = "复制失败";setTimeout(() => {copyStatus.value = "复制到剪贴板";}, 2000);}
};// 清空输入框
const clearText = () => {textToCopy.value = "";
};// 在script setup部分添加粘贴文本功能
// 首先添加pastedText状态变量
const pastedText = ref("");// 然后添加粘贴文本函数
const pasteText = async () => {try {// 检查浏览器环境是否支持现代的 Clipboard API// 1. 检查 navigator 对象是否存在(确保是浏览器环境)// 2. 检查 navigator.clipboard 对象是否存在(Clipboard API 的主对象)// 3. 检查 navigator.clipboard.readText 是一个函数( specifically检查读取文本的功能)if (navigator &&navigator.clipboard &&typeof navigator.clipboard.readText === "function") {//读取剪贴板中的纯文本内容const text = await navigator.clipboard.readText();pastedText.value = text;textToCopy.value = text;} else {// 降级方案:提示用户使用Ctrl+Valert("剪贴板API不可用,请使用键盘快捷键Ctrl+V粘贴");}} catch (error) {console.error("粘贴失败:", error);alert("粘贴失败,请手动使用Ctrl+V粘贴");}
};
</script><style scoped>
.copyboard-container {max-width: 600px;margin: 0 auto;padding: 20px;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu,Cantarell, sans-serif;
}h1 {text-align: center;color: #333;margin-bottom: 30px;
}.copy-section {background: #f9f9f9;padding: 20px;border-radius: 8px;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}label {display: block;margin-bottom: 8px;font-weight: 500;color: #555;
}textarea {width: 100%;padding: 12px;border: 1px solid #ddd;border-radius: 4px;font-size: 14px;font-family: inherit;resize: vertical;box-sizing: border-box;
}textarea:focus {outline: none;border-color: #4a90e2;box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.2);
}.button-group {display: flex;width: 100%;justify-content: flex-end;gap: 10px;margin-top: 15px;flex-wrap: wrap;
}button {padding: 10px 16px;border: none;border-radius: 4px;font-size: 14px;cursor: pointer;transition: all 0.2s ease;
}.copy-btn {background-color: #4a90e2;color: white;
}.copy-btn:hover:not(:disabled) {background-color: #357abd;
}.clear-btn {background-color: #f0ad4e;color: white;
}.clear-btn:hover:not(:disabled) {background-color: #ec971f;
}button:disabled {background-color: #ccc;cursor: not-allowed;opacity: 0.6;
}.paste-btn {background-color: #5cb85c;color: white;
}.paste-btn:hover {background-color: #449d44;
}
</style>

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

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

相关文章

Python 多版本环境治理理念驱动的系统架构设计——三维治理、四级隔离、五项自治 原则(路径治理升级修订 V 2.0 版)

Python 多版本环境治理理念驱动的系统架构设计 ——三维治理、四级隔离、五项自治 原则&#xff08;路径治理升级修订 V 2.0 版&#xff09; Python 多版本环境治理理念驱动的系统架构设计&#xff1a;三维治理、四级隔离、五项自治 原则 V1.0 版 &#x1f4da; 系列文章导航 …

Ubuntu Server 快速部署长安链:基于 Go 的智能合约实现商品溯源

文章目录简介智能合约语言智能合约上链管理开发环境准备长安链官网官方源码仓库官方文档官方 Docker 镜像仓库部署管理平台登录管理平台快速生成证书新建区块链链配置文件订阅长安链项目编译打包&#xff08;商品溯源示例&#xff09;部署合约编辑合约上链管理生产商品运输商品…

德克西尔氢气探测器:工业安全守护核心

​ ​引言&#xff1a;氢气泄漏隐患下&#xff0c;谁来守住工业安全防线&#xff1f; 2024年某化工园区因氢气管道阀门老化&#xff0c;泄漏气体未及时被检测&#xff0c;遇静电引发小型爆炸&#xff0c;造成设备损毁与停产损失——这类事故在新能源、化工、冶金等依赖氢气的…

电商高并发稳赢指南:ZKmall开源商城微服务架构的实战拆解

在电商行业&#xff0c;高并发场景&#xff08;如秒杀活动、节日大促&#xff09;对系统稳定性的考验尤为严峻。据阿里云 2024 年电商技术白皮书显示&#xff0c;采用微服务架构的电商系统在峰值流量下的稳定性比单体架构高 4.2 倍&#xff0c;故障恢复时间缩短 75%。ZKmall 开…

搜维尔科技核心产品矩阵涵盖从硬件感知到软件渲染的全产品供应链

在虚拟现实&#xff08;VR&#xff09;技术加速渗透至人因工程、生物力学、拟态环境及XR仿真现实等多学科交叉领域的背景下&#xff0c;我司与恒挚科技展开交流合作&#xff0c;双方将依托我司在动作捕捉、力反馈设备及实时渲染软件等领域的全栈技术积累&#xff0c;共同开拓沉…

Python 前后端框架实战:从选型到搭建简易全栈应用

在全栈开发领域&#xff0c;Python凭借丰富的前后端框架生态&#xff0c;成为开发者快速构建应用的优选。本文将聚焦Python主流前后端框架的选型对比&#xff0c;并以“Flask&#xff08;后端&#xff09; Vue.js&#xff08;前端&#xff09;”组合为例&#xff0c;带您实战搭…

多版本并发控制MVCC

MVCC&#xff08;Multi-Version Concurrency Control&#xff0c;多版本并发控制&#xff09;。是一个在数据库管理系统中用于处理并发控制的核心技术。理解它对于深入掌握数据库&#xff08;尤其是 InnoDB、PostgreSQL 等&#xff09;的工作原理至关重要。1. 什么是 MVCC&…

嵌入式第三十七天(TCP补充,应用层协议(HTTP))

一.TCP机制二.HTTP协议1.2.3.4.5.6.7.8.#ifndef _HEAD_H #define _HEAD_H#include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #include<arpa/inet.h> #include<sys/socket.h>#endif#include "head.h"…

Elasticsearch核心配置详解与优化

Elasticsearch 的核心配置文件主要用于控制节点行为、集群设置、资源分配和日志记录等关键功能。主要配置文件通常位于 ES_HOME/config 目录下&#xff0c;以下是三个最核心的配置文件及其详细说明&#xff1a; 1. elasticsearch.yml 核心集群与节点配置 这是最重要的配置文件…

机器学习框架下:金价近3400关口波动,AI量化模型对PCE数据的动态监测与趋势预测

摘要&#xff1a;本文通过AI多因子模型&#xff0c;结合宏观经济数据、政策动态及市场情绪因子&#xff0c;分析黄金价格波动机制及关键驱动要素。基于量化策略与自然语言处理技术&#xff0c;对美联储独立性争议、美债收益率曲线形态及PCE通胀数据等核心变量进行动态建模&…

【Redis#8】Redis 数据结构 -- Zset 类型

一、引言 定义&#xff1a;有序集合&#xff08;Zset&#xff09;是Redis中的一种数据结构&#xff0c;它结合了哈希表和跳跃列表的特性。每个 member 都有一个分数(score)&#xff0c;根据这个分数进行排序。 特点&#xff1a; member 不能重复&#xff0c;但分数可以相同&…

Postman 模拟mcp tool调用过程

文章目录 初始化调用 mcp server使用modelcontextprotocol 的java sdk编写 初始化 1.网页访问http://localhost:8090/sse,此页面保持开启,会不断接收到sse事件. 会返回一个endpoint,例如/mcp/message?sessionId111 2.初始化请求,postman发送post请求 url:http://localhost:…

init.usb.configfs.rc的USB动态配置

1. 什么是ConfigFSConfigFS 是 Linux 内核提供的一种用户空间可配置的伪文件系统在Linux内核中一个设备&#xff08;如手机&#xff09;作为USB从设备时&#xff0c;成为一个“Gadget”。路径&#xff1a;/config/usb_gadget/&#xff0c;g1表示系统重第一个USB Gadget的配置实…

广东省省考备考(第八十九天8.28)——判断推理(听课后强化训练)

判断推理&#xff1a;定义判断 错题解析 第一步&#xff1a;找出定义关键词。 “为了明确所承运的货物是否发生了残损&#xff0c;以及残损责任是否属于船方”。 第二步&#xff1a;逐一分析选项。 A项&#xff1a;甲船向商检机构申请检查船舶卸货前舱口、风筒的封盖和封识情况…

【C++】C++11的右值引用和移动语义

各位大佬好&#xff0c;我是落羽&#xff01;一个坚持学习进步的学生。 如果您觉得我的文章还不错&#xff0c;欢迎多多互三分享交流&#xff0c;一起学习进步&#xff01; 也欢迎关注我的blog主页: 落羽的落羽 文章目录一、C11简介二、左值和右值是什么三、左值引用与右值引…

Logic Error: 如何识别和修复逻辑错误

逻辑错误是指程序中的代码在语法上是正确的&#xff0c;但在执行时没有按预期工作。这种错误可能导致程序输出错误的结果或行为异常。逻辑错误通常比语法错误更难检测&#xff0c;因为它们不会产生编译或解释错误。本文将详细介绍如何识别和修复逻辑错误。一、识别逻辑错误1. 理…

TUN模式端口冲突 启动失败如何解决?

从日志信息来看&#xff0c;TUN模式启动失败是由于端口冲突导致的。 具体来说&#xff0c;Xray在尝试监听10808端口时失败了&#xff0c;因为该端口已经被其他进程占用。 错误信息分析 Failed to start: app/proxyman/inbound: failed to listen TCP on 10808 > transport/i…

如何调试一个EVM合约:实战操作 + 常见报错说明

在Solidity开发过程中&#xff0c;大多数开发者最常遇到的问题不是“代码写不了”&#xff0c;而是“代码部署了&#xff0c;但行为不对”。本篇文章将带你梳理一套完整的EVM智能合约调试流程&#xff0c;并附上几类真实常见报错场景及排查方法&#xff0c;适用于Hardhat、Remi…

使用Wireshark分析自助终端机网络数据

如果是明文还好&#xff0c; 是密文就没办法了。工具.1自助终端机.2组装结构主流架构选择‌B/S架构‌&#xff1a;通过Web应用调用本地硬件插件&#xff0c;开发速度快但依赖浏览器兼容性。 ‌‌C/S架构‌&#xff1a;直接调用硬件驱动&#xff0c;交互响应快但更新维护复杂。 …

数学建模——马尔科夫链(Markov Chain Model)

数学建模——马尔科夫链&#xff08;Markov Chain Model&#xff09;一、马尔可夫链的定义1. 状态与状态空间2. 无后效性&#xff08;马尔科夫性&#xff09;​3. 转移概率与转移概率矩阵&#xff08;1&#xff09;一步转移概率&#xff08;2&#xff09;转移概率矩阵二、马尔科…