转载:https://www.deanhan.cn/js-paste-upload.html

转载:https://segmentfault.com/a/1190000002915597

转载:https://www.cnblogs.com/dcb3688/p/4610638.html

转载:https://blog.csdn.net/dongyuxu342719/article/details/83754352

项目开发中遇到一个需求,需要在CEF浏览器当中使用快捷键显示用QQ、微信等截图工具的截屏图片。

<!DOCTYPE html>
<html>
<head></head>
<body><div id="preview" class="preview"></div><textarea id="result" style="width:800px; height:600px; resize:none"></textarea><script>var body = document.getElementsByTagName('body')[0];body.addEventListener('paste', function(e){var clipboard = e.clipboardData;var type = clipboard.items[0].type;if (type.match(/image/)) {var blob = clipboard.items[0].getAsFile();var file = new FileReader();file.addEventListener('loadend', function(e){document.getElementById('result').value = e.target.result;});file.readAsDataURL(blob);} else {//document.getElementById('result').value = "not an image\ntype: " + type + "\n\n";//图片base64编码
               preview.innerHTML = '<img src="' + e.target.result + '">';//img便签显示剪切板图片
            }});</script>
</body>
</html>

给body添加一个paste事件,会在粘贴时触发,粘贴有关的信息都会随着e传入回调函数。e是一个ClipboardEvent,获取它的clipboardData,就可以通过一系列操作取出数据。

首先检查一下粘贴数据的类型,如果是图片则取出Blob对象,再用FileReader去读取,结果就是DataURL了。

如果不是图片,直接打印提示信息。

粘贴一段文本的效果:

这里需要注意的是,paste是在粘贴前触发的,所以文本会在提示信息打印后被粘贴到文本框里(粘贴的默认行为)。如果需要取消这种默认行为,可以用 e.preventDefault() 。

效果:

转载于:https://www.cnblogs.com/chechen/p/10608777.html

CEF JS实现获取剪贴板图片的DataURL相关推荐

  1. js如何获取html图片,JS/JQuery获取网页或文章或某DIV所有图片

    要获取网页所有图片,我们可以通过Javascript就能轻松实现,不过要想获得文章或某容器(如:Div)里所有图片,使用JQuery而不是Javascript来实现就会变得更加简单.本文将给你详细介绍 ...

  2. JS快速获取图片宽高的方法

    JS快速获取图片宽高的方法 快速获取图片的宽高其实是为了预先做好排版样式布局做准备,通过快速获取图片宽高的方法比onload方法要节省很多时间,甚至一分钟以上都有可能,并且这种方法适用主流浏览器包括I ...

  3. php 获取图片的宽高,JS怎么获取图片当前宽高

    JS获取图片当前的宽高,我们可以使用JavaScript clientWidth和clientHeight属性来实现获取.clientWidth.clientHeight属性表示获取图像的当前宽度和高 ...

  4. JS获取img图片的原始尺寸高度和宽度

    目录 方式一:obj.style.width 方式二:width/height 方式三:offsetWidth/clientWidth 方法四: getComputedStyle和 currentSt ...

  5. html图片如何复制到剪贴板,js 如何实现复制图片到剪切板

    首先复制到剪切板,复制的是数据.图片看到的只是一种表现形式,图片可以用 js 对象 File.Blob.DataURL(base64) 体现出来. 又看到 document.execCommand(' ...

  6. js 复制文字和图片到剪贴板

    js 复制文字和图片到剪贴板 最近有个需求,要同时复制多张图片和文字到剪贴板,网上找了好多方法,都不行,最后上个厕所,想到直接翻w3c文档,终于实现了.让大家不迷路,共享出来,不用谢,点赞就行. 不多 ...

  7. html中显示js获取的图片地址,js如何获取UEditor富文本编辑器中的图片地址

    写之前在网上找了很多方法,最简单的思路应该是1.获取UEditor中的内容:2.将获取到的字符串转换成jquery对象:3.选择器找到img元素,获取src值.var content= UE.getE ...

  8. html本地路径图片转成base64,canvas-toDataURL()将图片转为dataURL(base64)

    将图片转为base64的好处 将图片转换为Base64编码,可以让你很方便地在没有上传文件的条件下将图片插入其它的网页.编辑器中. 这对于一些小的图片是极为方便的,因为你不需要再去寻找一个保存图片的地 ...

  9. java todataurl_利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解

    将图片转为base64的好处 将图片转换为Base64编码,可以让你很方便地在没有上传文件的条件下将图片插入其它的网页.编辑器中. 这对于一些小的图片是极为方便的,因为你不需要再去寻找一个保存图片的地 ...

  10. js大屏导出图片_超大图片全屏动态展示js插件

    intense-images是一款非常实用的超大图片全屏动态展示js插件.该图片查看插件可以全屏显示超大图片,可以使用鼠标来和图片进行交互,上下左右移动鼠标会相应的移动图片,对于超大图片的展示是非常好 ...

最新文章

  1. eclipse常用插件介绍
  2. WPF PRISM开发入门一( 初始化PRISM WPF程序)
  3. C++ RBTree(红黑树) 算法(附完整源码)
  4. 对List集合中的元素进行排序
  5. mac android通知中心,少数派一周快读:iOS 8 输入法大比拼,升级 Mac 新系统的 6 项准备,如何保持 Android 通知栏整洁...
  6. python mysql批量insert数据_使用python往mysql批量插入数据时,报错not all arguments converted...
  7. win7如何安装mysql5.7_Win7下安装MySQL5.7.16过程记录
  8. Internet路由之路由表查找算法概述-哈希/LC-Trie树/256-way-mtrie树
  9. 《仙剑奇侠传六》游戏感言
  10. [Openwrt 项目开发笔记]:DDNS设置(五)
  11. 【题解】CF760B:Frodo and pillows
  12. BP神经网络的非线性曲线拟合和预测(未完)
  13. LWR--local weighted regression
  14. python 报价机器人_100行代码实现报价机器人公众号后台
  15. 能编程100行的c语言题目,C语言编程100题
  16. Android常考问题(8)-设计模式:Builder模式(顺带学习了一下String的比较和final)
  17. cadence基本操作
  18. 印光法师:《灵岩遗旨》壹、悲化有情
  19. Python爬虫:逆向分析某酷音乐请求参数
  20. Tcl异常处理命令之try、throw

热门文章

  1. Pythonamp;R爬取分析赶集网北京二手房数据(附详细代码)
  2. 【免费课程】小白学数据挖掘与机器学习
  3. R for data science之purrr包(上)
  4. java集合和数组互转
  5. windows环境下安装npm、cnpm、bower
  6. 手把手教你进行R语言的安装及安装过程中相关问题解决方案
  7. 移动端 Modal 组件开发杂谈
  8. 考勤系统——代码分析datagrid
  9. linux 获取指定目录最大深度(层数)02
  10. javascript+Java 实现MD5加密登录密码