vue3 几种实现点击复制链接的方法

news/2024/7/3 1:26:31

vue3 几种实现点击复制链接的方法

环境:vue3+ts+elment plus
目的:常用到的地方就是点击复制分享链接功能

1.复制当前页面链接,

<template>
    <div class="news" style="margin-top: 30px">
        <el-button type="primary" @click="copyLink">点我复制当前页面链接</el-button>
    </div>
</template>

<script setup lang="ts">
import { ElMessage } from 'element-plus'
const copyLink=()=>{
    let url = window.location.href // 当前页面链接
    navigator.clipboard.writeText(url)
    ElMessage({
        type:'success',
        offset:200,
        message:"复制链接成功,可以粘贴",
    })
}
</script>

效果:
在这里插入图片描述
打开新的窗口粘贴,没问题

在这里插入图片描述

2.复制自定义链接

<template>
    <div class="news" style="margin-top: 30px">
        <el-input style="width: 240px" v-model="urlLink" disabled></el-input>
        <el-button type="primary" @click="copyLink">复制链接</el-button>
    </div>
</template>

<script setup lang="ts">
import { ElMessage } from 'element-plus'
import {ref} from "vue";
const urlLink=ref('')
urlLink.value='www.baidu.com' // 自定义页面链接
const copyLink=()=>{
    navigator.clipboard.writeText(urlLink.value)
    ElMessage({
        type:'success',
        offset:200,
        message:"复制链接成功,可以粘贴",
    })
}
</script>

在这里插入图片描述

打开新的窗口粘贴:
在这里插入图片描述

注意:以前用document.execCommand 这个方法已经废弃,使用的是新的方法 navigator.clipboard 更简洁

3.当然也可以使用插件实现

// vue-clipboard2
项目下运行 npm install vue-clipboard2

具体使用方法就不说了,网上很多,navigator.clipboard 这个方法足以实现想要的效果。

欢迎交流学习!共同进步!!


http://lihuaxi.xjx100.cn/news/2108900.html

相关文章

首页效果炫酷的wordpress免费主题模板

视频背景免费WP主题 简洁大气的视频背景wordpress主题&#xff0c;找大视频背景的主题可以看看这个。 https://www.wpniu.com/themes/193.html 红色全屏大图WP主题 非常经典的一款免费wordpress主题&#xff0c;红色全屏大图满足多行业使用。 https://www.wpniu.com/themes…

攻防实战 | 记一次nacos到接管阿里云百万数据泄露

在某次攻防当中&#xff0c;通过打点发现了一台nacos&#xff0c;经过测试之后发现可以通过弱口令进入到后台&#xff0c;可以查看其中的配置信息 通过翻看配置文件&#xff0c;发现腾讯云的AK,SK泄露&#xff0c;以及数据库的账号密码。操作不就来了么&#xff0c;直接上云&am…

String类型详解

1. Java为何要创造String类 在C语言中,是没有String这个类型的,通常使用字符数组中存放一个个字符,再加上最后一个\0来表示/存放一个字符串.也可以使用一个字符指针指向字符串的首元素,直到遇到\0停止,再加上C语言头文件string.h中封装的函数,对于字符串的操作已经够用了. Java…

计算机组成原理(超详解!!) 第二节 数据的存储

1. 数据与文字的表示方法 1.数据格式 选择数的表示时要考虑的因素&#xff1a; 要表示的数的类型&#xff1a;决定表示方式 可能遇到的数值范围&#xff1a;确定存储、处理能力 数值的精确度&#xff1a;处理能力相关 数据的存储、处理所需的硬件代价&#xff1a;造价高低…

基于springboot+vue的中山社区医疗综合服务平台

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

速通汇编(一)debug六种命令使用,四个通用寄存器

一&#xff0c;使用DOSBox模拟汇编环境 打开DOSBox后输入命令【mount c masm的绝对路径】这步是绑定虚拟C盘&#xff0c;然后【C:】切换成C盘便可在此环境下练习汇编 二&#xff0c;debug是什么东西&#xff1f;怎么使用 (一)什么是 Debug? Debug是DOS、Windows都提供的实模式…

学习笔记-华为IPD转型2020:3,IPD的实施

3. IPD的实施 1999 年开始的 IPD 转型是计划中的多个转型项目中的第一个&#xff08;Liu&#xff0c;2015&#xff09;。华为为此次转型成立了一个专门的团队&#xff0c;从大约20人开始&#xff0c;他们是华为第一产业的高层领导。董事会主席孙雅芳是这个团队的负责人。该团…

Vue.js+SpringBoot开发智能教学资源库系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 课程档案表3.2.2 课程资源表3.2.3 课程作业表3.2.4 课程评价表 四、系统展示五、核心代…