本题摘自于我 github 上的面试每日一题:https://q.shanyue.tech,并有大厂面经及内推信息,可在左下角打开本题原文链接
在一些博客系统,如掘金的博客中,可以复制代码,它是如何实现的
它一般可以使用第三方库 clipboard.js 来实现,源码很简单,可以读一读
主要有两个要点
- 选中:
Selection API
- 复制:
document.execCommand
选中: Selection API
选中主要利用了 Selection API
选中的代码如下
const selection = window.getSelection();
const range = document.createRange();
range.selectNodeContents(element);
selection.removeAllRanges();
selection.addRange(range);
selectedText = selection.toString();
取消选中的代码如下
window.getSelection().removeAllRanges();
它有现成的第三方库可以使用: select.js
复制: execCommand
复制就比较简单了,execCommand
document.exec('copy')
更多面试
关注我
我是山月,正致力于每天用五分钟能够看完的简短答案回答一个大厂高频面试题。扫码添加我的微信,备注进群,加入高级前端进阶群.
欢迎关注公众号【互联网大厂招聘】,定时推送大厂内推信息及面试题简答,每天学习五分钟,半年进入大厂中