概述
前端有 2 个常用的功能函数,其中一个是复制到剪切板,另一个是下载。我总结了一下它们的实现,记录下来,供以后开发时参考,相信对其他人也有用。
复制到剪切板
需要先安装 clipboard.js 库,然后代码如下:
import ClipboardJS from 'clipboard';
function copyToClipboard(text) {
if (!ClipboardJS.isSupported()) {
return Promise.reject(new Error('not supported'));
}
return new Promise((resolve, reject) => {
const fakeElement = document.createElement('button');
const clipboard = new ClipboardJS(fakeElement, {
text: () => text,
});
clipboard.on('error', (e) => {
clipboard.destroy();
reject(e);
console.error('Copy failed Action:', e.action);
console.error('Copy failed Trigger:', e.trigger);
});
clipboard.on('success', (e) => {
clipboard.destroy();
resolve(e);
});
fakeElement.click();
});
}
export default copyToClipboard;
下载功能
原生。代码如下:
function download(url = '') {
if (url) {
const fakeLink = document.createElement('a');
fakeLink.href = url;
fakeLink.click();
}
}
export default download;