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

浪淘沙5个月前前端161
   , { 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 静态html table 表头会固定在顶部

@page @model xxtsoft.Web.Entry.Pages.sysadmins.mb.mbModel @{     Layout&...

layui 远程上传图片或文件

layui 远程上传图片或文件

@page @model xxtsoft.Web.Entry.Pages.pic1Model @{     ViewData["Tit...

layui 同时调用多个数据

<div class="layui-col-md6">     <div class="l...

layui form提交时,弹出确认框

layui form提交时,弹出确认框

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

layui select 下拉多选 xm-select

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

删除确认对话框

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

发表评论    

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