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

浪淘沙3个月前前端140
   , { 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 });
   }


相关文章

layui form提交时,弹出确认框

layui form提交时,弹出确认框

<div class="container yx-form">     <form c...

layui 省市区三级联动

layui 省市区三级联动

 <div class="layui-form-item">      <label&nb...

删除确认对话框

onclick=\"onconfirm('确认要删除本岗位?', 'zp', 'id=&act=del');&nb...

layui 下拉搜索,多选,form提交

https://codecp.tech/static/xm-select/?lalalalalala=1#/basic/use<div style="margin:100px...

layui 弹出iframe

layui 弹出iframe

<div class="layui-panel layui-padding-3">     <for...

发表评论    

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