// 先给要复制的文本或者按钮加上点击事件后,并将要复制的值传过来
const copyBtn = document.getElementsByClassName('copy_btn')[0];
const content = window.location.href;
copyBtn.addEventListener('click', function () {
copyValue(content);
});
function copyValue(val) {
if (navigator.clipboard && window.isSecureContext) {
// navigator clipboard 向剪贴板写文本
alert('复制成功')
return navigator.clipboard.writeText(val)
} else {
// 创建text area
const textArea = document.createElement('textarea')
textArea.value = val
// 使text area不在viewport,同时设置不可见
document.body.appendChild(textArea)
textArea.focus()
textArea.select()
alert('复制成功')
return new Promise((res, rej) => {
// 执行复制命令并移除文本框
document.execCommand('copy') ? res() : rej()
textArea.remove()
})
}
}
使用navigator.clipboard.writeText(val)实现复制内容
最新推荐文章于 2024-08-23 14:27:16 发布