穆斯黑德湖附近的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
进行实现
navigator.clipboard.writeText(text)
而对于一些不支持 Clipboard API
的浏览器,使用以下 API 进行复制
Selection API
document.execCommand
(已被废弃)选中主要利用了 Selection API 与 Range API
长按识别二维码查看原文
https://developer.mozilla.org/en-US/docs/Web/API/Selection标题:Selection API
选中的代码如下
const selection = window.getSelection();
const range = document.createRange();
// RangeAPI: 制造区域
range.selectNodeContents(element);
// Selection: 选中区域
selection.addRange(range);
selectedText = selection.toString();
取消选中的代码如下
window.getSelection().removeAllRanges();
它有现成的第三方库可以使用: select.js
长按识别二维码查看原文
https://github.com/zenorocha/select标题:select.js
复制就比较简单了,execCommand
document.execCommand('copy')