码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-10-23 00:34:21      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:有用   text   action   href   exp   ESS   cti   记录   load   

概述

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

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

标签:有用   text   action   href   exp   ESS   cti   记录   load   

原文地址:https://www.cnblogs.com/yangzhou33/p/11723243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!