JavaScript实现复制文本到剪切板

js实现复制文本到剪切板


一、背景

我的博客网站目前需要添加赋值文本,在文本的末尾追加一些额外的信息,因此就需要调用window.oncopy方法,然后需要实现复制文本的js。


二、代码实现

1
2
3
4
5
6
7
8
9
10

let oInput = document.createElement('input');
let url = window.location.href;
let title = '《' + $("#title").text() + '》';
let text = '云博文章' + title + ',地址:' + url;
oInput.value = text;
document.body.appendChild(oInput);
oInput.select(); // 选择对象
document.execCommand("Copy"); // 执行浏览器复制命令,关键
oInput.style.display = 'none';

说明:

① 首先需要创建一个input的HTMLInputElement的object。

② 这里我获取了我的该文章页的url,并添加额外信息

③ 将这些信息赋给object的value

④ 将这个obj添加到body中,然后选择该input对象,执行浏览器的赋值命令,这一步是核心所在。

注:

这样做的好处是,不用依赖已有的input框或者textarea文本域,只需要触发按钮,动态创建input,添加额外的信息,执行赋值命令,就可以了。