关于clipboard.js复制图片以及文本的随笔

做了一个商场的复制文本以及图片的功能,网上找到了clipboard.js,试了会发现有些图片不能复制到后面尝试了多次,最后得到的结果就是服务器的路径不能过长比如:

1、https://img.alicdn.com/imgextra/i2/2378443470/TB2OzgWvNGYBuNjy0FnXXX5lpXa_!!2378443470.jpg(不行);
2、/goodsimg/2018606/152826962440080876.jpg(可行);

具体文档可去官方查看,下面附上我自己写的代码,急用的话可看下。

<!DOCTYPE html>
<html>
<head>
     <meta charset="UTF-8">
     <title></title>
      <link rel="stylesheet" type="text/css" href="layui/css/modules/layer/default/layer.css"/>
</head>
<body>
       <span class="fq-copy">
           复制
       </span>

      <span class="layui-layer-content" id="a1">
           <img class='' src='/goodsimg/2018606/152826962440080876.jpg'>
          <br/>描述文字~
     </span>

<script src="js/jquery-1.8.3.min.js" type="text/javascript" charset="utf-8"></script>
<script src="layer/layer.js" type="text/javascript" charset="utf-8"></script>
<script src="js/clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
function _copy(anniu,content){
    var clipboard = new Clipboard(anniu, {
    target: function(e) {
        return document.querySelector(content);
    }
   });

     clipboard.on('success', function(e) {
          alert('复制成功!!');
          console.info('Action:', e.action);
          console.info('Text:', e.text);
          console.info('Trigger:', e.trigger);
          e.clearSelection();
    });

  clipboard.on('error', function(e) {
      alert('复制失败!')
      console.error('Action:', e.action);
      console.error('Trigger:', e.trigger);
  });
}
_copy('.fq-copy','.layui-layer-content');
</script>
</body>
</html>

//jq过滤复制内容的方法

        $(function() {
            var clipboard = new Clipboard('#clickcopy',{
                // 通过target指定要复印的节点
                target: function(trigger) {
//                  var $foo = $(trigger).prev(".foo").clone();
                    
                        var $foo =$('.editbox').clone();
                    
                    $(trigger).after($foo);
                    var $imgs = $(trigger).next(".editbox").find("img")
                    $imgs.each(function(){
                        $(this).after($(this).data("emoji"));
                        $(this).remove();
                    });
                    return $(trigger).next(".editbox")[0];
                }
            });

            clipboard.on('success', function(e) {
                alert("成功");
                $(e.trigger).next(".editbox").remove();
                e.clearSelection();
            });
            clipboard.on('error', function(e) {
                alert("复制失败!本产品只兼容到Chrome 42+、Firefox 41+、IE 9+、Opera 29+,请您换一个最新浏览器。")
            });
        });

 

转载于:https://www.cnblogs.com/xiaobaicai123/p/9156220.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值