完整需求是这样的:生成一个二维码,然后提供复制和下载按钮。如果你是页面上已有一个图片,可以直接跳过前面的部分。

经后来测试,发现这种方法并不通用,我在qq和微信中不能粘贴,但是在钉钉中可以粘贴。具体原因没找到,所以最后放弃了复制图片?。

生成二维码,可以用qrcode
http://cdn.staticfile.org/jquery.qrcode/1.0/jquery.qrcode.min.js
github地址:https://github.com/davidshimjs/qrcodejs

$('#code').qrcode({render: 'canvas',   //可选canvas或tablewidth: 100,height: 100,text: url   //需要生成二维码的内容
});

要实现复制和下载功能,首先我们需要把图片从canvs转为img。

var drawing = $('#code canvas')[0];
//确定浏览器支持<canvas>元素
if (drawing.getContext) {var context = drawing.getContext('2d');//取得图像的数据 URIvar imgURI = drawing.toDataURL("image/png");//显示图像var image = document.createElement("img");image.src = imgURI;$('#code').html(image);
}

复制图片

// 选中区域
function getSelect (targetNode) {if (window.getSelection) {//chrome等主流浏览器var selection = window.getSelection();var range = document.createRange();range.selectNode(targetNode);selection.removeAllRanges();selection.addRange(range);} else if (document.body.createTextRange) {//ievar range = document.body.createTextRange();range.moveToElementText(targetNode);range.select();}
}
// 绑定点击事件
$('#copyBtn').off('click').click(e => {// 尝试过复制canvas和table,但不能达到预期效果。所以这里还是转为img再下载getSelect($('#code img')[0]);document.execCommand('copy');// copy之后清空选择区域window.getSelection().removeAllRanges();
})

下载图片

$('#downloadBtn').off('click').click(e => {var imgSrc = $('#code img').attr("src");if (!!window.ActiveXObject || "ActiveXObject" in window) {// 不支持download时,可提示用户右键下载} else {var alink = document.createElement("a");alink.href = imgSrc;alink.download = "图片.png";alink.click();}
})

js实现复制图片到剪切板下载图片相关推荐

  1. js 复制图片到剪切板 和 js复制文本到剪切板

    js 复制图片到剪切板 <a href="javascript:;" id="copyQrcode" data-base=""> ...

  2. JS复制图片到剪切板 读取剪切板

    JS复制图片到剪切板 读取剪切板 navigator.clipboard实现复制图片 图片写入剪切板 function handleCopyImg() { const canvas = documen ...

  3. html5图片剪切板,原生js实现基于base64数据复制图片到剪切板,可以粘贴出图片,模拟浏览器复制功能。...

    原生js实现基于base64数据复制图片到剪切板,可以粘贴出图片,模拟浏览器复制功能.前言: 初次发帖排版略丑,见谅.之前我们这边有个需求就是说,前端通过canvas截图然后, 点击一个按钮实现复制截 ...

  4. JS复制图片到剪切板

    业务场景 系统中展示多张图片叠加展示,客户要求单击图片实现,将叠加的效果图复制到PC的剪切板,可以在社交等其他软件中粘贴. 网上复制文字的案例很多,这里分享一个复制图片到剪切板的代码,亲测有效. wi ...

  5. html5 js 手机剪切板,JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)...

    新学习JavaScript,就碰到这么一个需求,几乎网上的方法都试过了.写出了总结下 使用的方法:clipboard 插件下载地址:https://github.com/zenorocha/clipb ...

  6. base64图片 复制到系统剪切板

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  7. html5图片剪切板,JavaScript 网页端复制图片到剪切板

    前端页面可能需要复制图片到剪切板的功能,这里使用JavaScript来实现这一功能,兼容大部分浏览器 全部代码 复制图片到剪切板 复制图片 var SelectText = function (ele ...

  8. vue复制图片到剪切板

    vue复制图片到剪切板 最开始使用clipboard2,本地和测试环境都能运行,到了生产环境就无法粘贴到微信. 后来搜索到可以将图片转换成blod直接复制到剪切板,代码如下 <img :src= ...

  9. QT复制文本、图片到剪切板-QClipboard

    QT复制文本.图片到剪切板-QClipboard 1. 概述 2. 代码示例 1. 概述 复制文本或图片到剪切板在QT中可以使用QClipboard进行操作 2. 代码示例 #include &quo ...

最新文章

  1. 关于计算机的英语作文300,关于大学英语作文300字7篇
  2. XSS学习-XSS挑战之旅(二)
  3. Linux系统正则表达式用法笔记
  4. Apache NIO 框架 Mina 使用中出现 too many open files 有关...
  5. 你真的了解 Load Balance 嘛
  6. iPhone 13 Pro“终极”渲染图曝光:后置镜头模组将有大幅升级
  7. Spring Boot Swagger3启动出现警告Unable to interpret the implicit parameter configuration with dataType
  8. c++实现数值的整数次方(类似pow())作用
  9. 虚函数(动态绑定)对于 OO/C++的重要性
  10. 配置Mac自带的Apache http服务器
  11. 无线网络经常掉线的12种情况
  12. Excel入门之快速录入数据
  13. 计算机五笔字型编码方法,《五笔字型输入的编码规则》说课稿
  14. YYDS《剑指Offer》再续新篇,百万程序员人手一册
  15. [Asp.Net Core]NET5跨平台的本质
  16. 论文阅读翻译笔记——雅虎S4
  17. UE4蓝图案例:媒体播放器的开关
  18. 中e管家投资理财做好这六件事
  19. 如何简单形象又有趣地讲解神经网络是什么?(知乎) 说的人很多,理解很充分
  20. LeanCloud使用入门(android),leancloudandroid

热门文章

  1. python第三方库re库实例之爬取古诗词网上诗歌
  2. js检测键盘组合键,禁止F12
  3. layui 改写 table 排序,填加中文按照拼音排序
  4. WebRtc的下载(未完,当前只下载了部分)
  5. Java实现机器人用户随机上线
  6. linux使用tmux后台运行程序
  7. 项目使用jdk17人傻了
  8. Jenkins基础:获取Jenkins-Crumb的错误信息与对应方法
  9. 电脑录音软件大全,推荐一波优秀的录音软件!
  10. PHP实现给视频加图片水印,怎么在视频画面上加图片?如何给视频添加自己的图片作为水印?视频添加图片水印的方法...