前端常用:复制到剪切板和下载

Posted yangzhou33

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端常用:复制到剪切板和下载相关的知识,希望对你有一定的参考价值。

概述

前端有 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;

以上是关于前端常用:复制到剪切板和下载的主要内容,如果未能解决你的问题,请参考以下文章

vim在系统剪切板的复制与粘贴

怎样将vim中的内容复制到windows剪切板?

js 如何实现将div内的内容放到剪切板?

js 剪切板的用法(clipboardData.setData)

iOS oc-剪切板

前端开发常用js代码片段