Vue 复制页面内容

方法 1:使用 document.execCommand('copy') 在用户触发的事件中

这种方法适用于用户触发的事件(如点击按钮),因为这是 execCommand('copy') 的唯一允许场景。

<template><button @click="copyToClipboard">复制到剪贴板</button>
</template><script>
export default {methods: {copyToClipboard() {const text = '要复制的内容'; // 你想复制的文本const el = document.createElement('textarea');el.value = text;el.setAttribute('readonly', '');el.style.position = 'absolute';el.style.left = '-9999px';document.body.appendChild(el);el.select();document.execCommand('copy');document.body.removeChild(el);alert('已复制到剪贴板'); // 提示复制成功}}
}
</script>

方法 2:使用 Clipboard API(推荐方式)

从 Chrome 66 开始,Clipboard API 提供了一个更现代、更安全和更标准的方法来复制内容到剪贴板。这种方法可以在任何上下文中使用,而不需要用户交互。

<template><button @click="copyToClipboard">复制到剪贴板</button>
</template><script>
export default {methods: {async copyToClipboard() {const text = '要复制的内容'; // 你想复制的文本try {await navigator.clipboard.writeText(text);alert('已复制到剪贴板'); // 提示复制成功} catch (err) {console.error('复制失败', err);}}}
}
</script>

方法 3:使用第三方库(如 clipboard.js)

如果想要一个更简单、兼容性更好的解决方案,可以考虑使用第三方库如 clipboard.js。这个库封装了浏览器的各种剪贴板操作,并提供了一个简单易用的 API。

首先,你需要安装 clipboard.js

npm install clipboard --save

然后,在你的 Vue 组件中使用它:

<template><button class="btn" data-clipboard-text="要复制的内容">复制到剪贴板</button>
</template><script>
import Clipboard from 'clipboard'; // 引入 clipboard.js
export default {mounted() {new Clipboard('.btn'); // 初始化 Clipboard.js,传入选择器字符串或者DOM元素列表等参数。这里使用了类选择器作为示例。}
}
</script>

随手记录一下~

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

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

相关文章

暑期前端训练day1

js——记忆函数 2025-06-19 day1 一、记忆函数Ⅰ&#xff1a; 链接&#xff1a;https://leetcode.cn/problems/memoize/?envTypeproblem-list-v2&envIdGR5hbGen (1) 题意&#xff1a;给定一个函数&#xff0c;返回一个记忆版的函数&#xff0c;其中你只会包含三个可能输…

鸿蒙网络编程系列54-仓颉版实现Smtp邮件发送客户端

1. SMTP邮件发送客户端 在本系列的第4篇文章《鸿蒙网络编程系列4-实现SMTP邮件发送客户端》中&#xff0c;基于ArkTS语言在API9环境下使用TCPSocket对象演示了SMTP客户端的实现&#xff0c;并且通过腾讯邮件服务器执行了实际的邮件发送。不过&#xff0c;在2024年末&#xff0…

【慧游鲁博】【12】UI美化·图标选择与变换·动态交互·格式定义

文章目录 图标设计迭代过程初始版本问题分析优化措施 游览画卷美化原因当前效果展示美化步骤(1) 代码修改结构优化CSS&#xff08;优化样式&#xff09; (2) 图标选择&#xff08;4种方案&#xff09;(3) 交互优化 版本一版本二1. 修改HTML结构2. 新增CSS样式色彩控制技术性能优…

IMU介绍

IMU(Inertial Measurement Unit,惯性测量单元)是一种基于惯性原理的传感器,通过测量物体的加速度和角速度来获取运动状态信息。以下从技术原理、核心组件、应用场景及关键指标等方面展开详细解析: 一、IMU的技术原理与核心组件 1. 工作原理 惯性力学基础:利用牛顿第二定…

MOS管和比较器

目录 前言一、前置器件复习使用1.比较器工作特性2.光电二极管3.红外出水水龙头4.温控风扇工作原理 二、MOS管1.前置1.1 增强型MOS管1.2 耗尽型MOS管1.3 四种1.4 比较 2.基本结构3.导通条件4.开关电路的设计方法5.寄生电容问题6.寄生二极管不能忽略7.Nmos管做电源开关的注意事项…

从代码学习深度强化学习 - Double DQN PyTorch版

文章目录 前言理论篇:为什么需要 Double DQN?代码实现篇:构建一个 Double DQN 智能体2.1 项目设置与辅助函数2.2 环境 (Environment)2.3 DQN 的核心组件2.3.1 Replay Buffer (经验回放池)2.3.2 Q-Network (Q网络)2.3.3 The Double DQN Agent (Double DQN 智能体)训练与结果3…

四非鼠鼠计算机专业的保研分享

四非鼠鼠的计算机专业保研分享 1.前言 鼠鼠的本科学校是一所不怎么出名的四非院校&#xff0c;专业是计算机科学与技术。在写下这篇文章时&#xff0c;鼠鼠并不是为了炫耀什么&#xff0c;而是想把自己在保研路上的一些踩坑经历分享出来&#xff0c;尤其是写给那些和我一样&a…

【C++详解】STL-vector使用底层剖析和实现

文章目录 vector介绍vector和string的区别补充知识initializer_listemplace_back结构化绑定 vector的使用构造析构遍历修改insertfind流插入/流提取vector\<vector>(杨辉三角) vector模拟实现浅品STL源码构造函数拷贝构造多参数构造迭代器区间构造n个val初始化swapoperat…

MySql升级安装、socket 及密码重置

升级 项目需要使用Mysql8.0, 查看自己的ubuntu22.04上mysql版本为5.7&#xff0c; 使用以下命令自动升级到8.0版本。 sudo apt install Mysqlsock错误&#xff1a; Can’t connect to local MySQL server through socket 运行mysql -u -p 报以下错误&#xff1a; ERROR 200…

Python网络爬虫技术:从入门到实战

在当今数字化时代&#xff0c;网络爬虫技术已经成为数据挖掘和信息收集的重要工具。通过网络爬虫&#xff0c;我们可以高效地从互联网上获取大量有价值的数据&#xff0c;用于数据分析、市场研究、学术研究等多种场景。本文将带你从零开始&#xff0c;了解Python网络爬虫的基本…

偏微分方程初值问题求解

题目 问题 2. (a) u t + 3 u x − 2 u y = x ; u t + x u x + y u y = x ; u_t + 3u_x - 2u_y = x; \quad u_t + xu_x + yu_y = x; ut​+3ux​−2uy​=x;ut​+xux​+yuy​=x; u t + x u x − y u y = x ; u t + y u x + x u y = x ; u_t + xu_x - yu_y = x; \quad u_t + yu_…

【专业梳理】PMP知识体系,以SIPOC流程图为核心的质量工具扩展

​​1. SIPOC流程图:质量管理的起点​​ SIPOC(Supplier-Input-Process-Output-Customer)是六西格玛和流程管理中的核心工具,用于定义和优化跨职能流程。在PMBOK中,它与质量管理知识领域(尤其是质量规划、质量保证)紧密关联: ​​质量规划​​:通过SIPOC明确流程边界…

OpenCV指定pid和vid通过MSMF打开摄像头

在基于OpenCV的项目中&#xff0c;实际开发过程会面临设备上存在多个摄像头&#xff0c;需要指定摄像头的pid和vid打开摄像头。在OpenCV通过MSMF打开摄像头时&#xff0c;需要传入摄像头的index&#xff0c;因此需要在打开该摄像头前需要找出摄像头的index&#xff0c;下面给出…

STM32F103ZET6系统启动过程

STM32F103ZET6系统启动过程 一、概述 STM32F103ZET6启动过程指硬件选择启动模式后,执行固件程序之前的一系列动作。对于系统存储器模式,系统执行Bootloader程序升级状态,检测数据进行串口升级;对于内部Flash模式,系统执行启动文件,设置堆栈大小,配置系统时钟,最终调用…

[Data Pipeline] Kafka消息 | Redis缓存 | Docker部署(Lambda架构)

第七章&#xff1a;Kafka消息系统&#xff08;实时流处理&#xff09; 欢迎回到数据探索之旅&#xff01; 在前六章中&#xff0c;我们构建了强大的**批量处理流水线**。 通过Airflow DAG&#xff08;批量任务编排&#xff09;协调Spark作业&#xff08;数据处理&#xff09;…

jquery 赋值时不触发change事件解决——仙盟创梦IDE

一、传统方法jquey change $(#village_id).trigger(change);$("#village_id").val(99);$("#village_id").change(); 不生效 二、传统方法jquey $(#village_id).trigger(change); 四、传统方法jquey <input type"text" /> <button…

Android | 签名安全

检验和签名 校验开发者在数据传送时采用的一种校正数据的一种方式&#xff0c; 常见的校验有:签名校验(最常见)、dexcrc校验、apk完整性校验、路径文件校验等。 通过对 Apk 进行签名&#xff0c;开发者可以证明对 Apk 的所有权和控制权&#xff0c;可用于安装和更新其应用。…

Android14 耳机按键拍照

在相机拍照预览界面 通过耳机按键实现拍照功能 耳机按键定义 frameworks/base/core/java/android/view/KeyEvent.java public static final int KEYCODE_HEADSETHOOK 79;相机界面 拍照逻辑 DreamCamera2\src\com\android\camera\PhotoModule.java Override public bool…

【AI作画】第2章comfy ui的一般输入节点,文本框的类型和输入形式

目录 CLIP文本编码器 条件输出和文本输出 转换某一变量为输入 展示作品集 在默认的工作流之外&#xff0c;我们如何自己添加节点呢&#xff1f; 一般我们用到的sampler采样器在“鼠标右键——添加节点——采样——K采样器” 我们用的clip文本编码器在“鼠标右键——添加节…

vue3仿高德地图官网路况预测时间选择器

<template><div class"time-axis-container"><div class"time-axis" ref"axisRef"><!-- 刻度线 - 共25个刻度(0-24) --><divv-for"hour in 25":key"hour - 1"class"tick-mark":class&…