点击勘误issues (opens new window),哪吒感谢大家的阅读
它一般可以使用第三方库 clipboard-copy (打开新窗口)来实现,源码很简单,可以读一读
目前最为推荐的方式是使用 Clipboard API 进行实现
navigator.clipboard.writeText(text);
1
而对于一些不支持 Clipboard API 的浏览器,使用以下 API 进行复制
- 选中: Selection API
- 复制: document.execCommand (已被废弃)
# 选中: Selection API/Range API
选中主要利用了 Selection API (打开新窗口)给定范围 API
选中的代码如下
const selection = window.getSelection();
const range = document.createRange();
// RangeAPI: 制造区域
range.selectNodeContents(element);
// Selection: 选中区域
selection.addRange(range);
selectedText = selection.toString();
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
取消选中的代码如下
window.getSelection().removeAllRanges();
1
它有现成的第三方库可以使用: select.js(打开新窗口)
# 复制: execCommand
复制就比较简单了,execCommand
document.execCommand("copy");
1