layui 复制图片和文字到内存,以转发到微信,qq,钉钉

浪淘沙8个月前前端192
   , { field: 'id', title: '活动二维码', width: 140,align:'center',templet: function (d) { return '<a href="#" lay-event="copy"><img src="'+d.qcode+'" height="100" width="100"><br>点击复制转发</a>'; } }
 case 'copy':                     
       const text = '📢 活动报名:\n名称:'+data.title+'\n网址:'+data.qcodeurl+'\n说明:请复制网址到浏览器中,或扫码报名';
       copyTextAndImage(text, data.qcode);

break;
  function copyTextAndImage(text, base64Img) {

      const html = `<div>${text.replace(/\n/g,'<br>')}<br><img src="${base64Img}" width="150" height="150" /></div>`;
      const blob = new Blob([html], { type: 'text/html' });
      const item = new ClipboardItem({ 'text/html': blob });

      navigator.clipboard.write([item]).then(() => {
           layer.msg('复制成功,请转发');
       }).catch(err => {
           layer.msg('复制失败:' + err);
       });
   }

   function base64ToBlob(base64) {
       const arr = base64.split(',');
       const mime = arr[0].match(/:(.*?);/)[1];
       const bstr = atob(arr[1]);
       let n = bstr.length;
       const u8arr = new Uint8Array(n);
       while (n--) {
           u8arr[n] = bstr.charCodeAt(n);
       }
       return new Blob([u8arr], { type: mime });
   }


相关文章

element 调用接口返回json中的data-bs-toggle="tooltip" data-bs-title="查阅"

<el-table ref="tableRef"><el-table-column prop="files" label=...

layui 只有点击“导出Excel”按钮时,才改变“导出Excel”按钮的状态

<form class="layui-form layui-form-pane" method="post"> &n...

js 转换返回数据为json

JSON.parse(response.data);返回内容{   "statusCode": 200,   "da...

element el-switch 默认选择

   mounted() {        if (this.form.act...

layui 静态表格弹出传值、弹出页面

layui 静态表格弹出传值、弹出页面

<script>     layui.config({     base: '/lay...

layui select 下拉多选 xm-select

<div class="layui-fluid">     <div id="demo1&...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。