前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【字节】浏览器中如何实现拷贝到剪贴板功能

【字节】浏览器中如何实现拷贝到剪贴板功能

作者头像
山月
发布2021-05-11 10:07:39
6230
发布2021-05-11 10:07:39
举报
文章被收录于专栏:服务器运维笔记

穆斯黑德湖附近的Norcross Brook河与湿地,缅因州皮斯卡特奎斯(© Aaron Black-Schmidt/Tandem Stills + Motion)

大家好,我是山月,为大家进大厂而操碎了心的小编。本文收录于 GitHub 日问: DailyQuestion,每天学习五分钟,一年进入大厂中。可在右下角打开原文查看 长按识别二维码查看原文 https://q.shanyue.tech标题:DailyQuestion

在一些博客系统,如掘金的博客中,可以复制代码,它是如何实现的

它一般可以使用第三方库 clipboard-copy 来实现,源码很简单,可以读一读

长按识别二维码查看原文

https://github.com/feross/clipboard-copy/blob/master/index.js标题:clipboard-copy

目前最为推荐的方式是使用 Clipboard API 进行实现

代码语言:javascript
复制
navigator.clipboard.writeText(text)

而对于一些不支持 Clipboard API 的浏览器,使用以下 API 进行复制

  1. 选中: Selection API
  2. 复制: document.execCommand (已被废弃)

选中: Selection API/Range API

选中主要利用了 Selection API 与 Range API

长按识别二维码查看原文

https://developer.mozilla.org/en-US/docs/Web/API/Selection标题:Selection API

选中的代码如下

代码语言:javascript
复制
const selection = window.getSelection();
const range = document.createRange();

// RangeAPI: 制造区域
range.selectNodeContents(element);

// Selection: 选中区域
selection.addRange(range);

selectedText = selection.toString();

取消选中的代码如下

代码语言:javascript
复制
window.getSelection().removeAllRanges();

它有现成的第三方库可以使用: select.js

长按识别二维码查看原文

https://github.com/zenorocha/select标题:select.js

复制: execCommand

复制就比较简单了,execCommand

代码语言:javascript
复制
document.execCommand('copy')
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈成长之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 选中: Selection API/Range API
  • 复制: execCommand
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档