javascript实现粘贴qq截图功能(clipboardData)


Posted in Javascript onMay 29, 2016

这篇文章主要介绍了在网页中实现读取剪贴板粘贴截图功能,即可以把剪贴板的截图Ctrl+V粘贴到网页的一个输入框中,例如QQ截图、旺旺截图或者其它截图软件。具体代码如下。

<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>利用 clipboardData 在网页中实现截屏粘贴的功能</title>
<style type="text/css">
#box{ width:200px; height:200px; border:1px solid #ddd; }
</style>
</head>
<body>

<h1>利用 clipboardData 在网页中实现截屏粘贴的功能</h1>  
<hr />
<div><input type="text" id="testInput" placeholder="截屏后粘贴到输入框中" size="30" /></div>
<script type="text/javascript">
(function(){
  var imgReader = function( item ){
    var blob = item.getAsFile(),
      reader = new FileReader();
    // 读取文件后将其显示在网页中
    reader.onload = function( e ){
      var img = new Image();

      img.src = e.target.result;
      document.body.appendChild( img );
    };
    // 读取文件
    reader.readAsDataURL( blob );
  };
  document.getElementById( 'testInput' ).addEventListener( 'paste', function( e ){
     // 添加到事件对象中的访问系统剪贴板的接口
    var clipboardData = e.clipboardData,
      i = 0,
      items, item, types;

    if( clipboardData ){
      items = clipboardData.items;
      if( !items ){
        return;
      }
      item = items[0];
      // 保存在剪贴板中的数据类型
      types = clipboardData.types || [];
      for( ; i < types.length; i++ ){
        if( types[i] === 'Files' ){
          item = items[i];
          break;
        }
      }
      // 判断是否为图片数据
      if( item && item.kind === 'file' && item.type.match(/^image\//i) ){
        imgReader( item );
      }
    }
  });
})(); 
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家学习JavaScript程序设计有所帮助。

Javascript 相关文章推荐
js removeChild 障眼法 可能出现的错误
Oct 06 Javascript
Javascript 面试题随笔
Mar 31 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
Apr 26 Javascript
简单方法判断JavaScript对象为null或者属性为空
Sep 26 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
Aug 28 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
Jan 21 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
Mar 08 Javascript
ES6关于Promise的用法详解
May 07 Javascript
Vue.directive使用注意(小结)
Aug 31 Javascript
js中Generator函数的深入讲解
Apr 07 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
Jul 19 Javascript
js实现九宫格抽奖
Mar 19 Javascript
js剪切板应用clipboardData实例解析
May 29 #Javascript
js实现可控制左右方向的无缝滚动效果
May 29 #Javascript
原生JavaScript编写canvas版的连连看游戏
May 29 #Javascript
js省市县三级联动效果实例
Apr 15 #Javascript
js实现精确到秒的倒计时效果
May 29 #Javascript
解读Bootstrap v4 sass设计
May 29 #Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
May 29 #Javascript
You might like
PHP支持多种格式图片上传(支持jpg、png、gif)
2011/11/03 PHP
PHP设计模式之代理模式的深入解析
2013/06/13 PHP
PHP输出缓存ob系列函数详解
2014/03/11 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
yepnope.js 异步加载资源文件
2011/09/08 Javascript
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
2015/05/03 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
jquery遍历标签中自定义的属性方法
2016/09/17 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
node安装--linux下的快速安装教程
2017/03/21 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
2019/05/21 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
vue页面更新patch的实现示例
2020/03/25 Javascript
Python+MongoDB自增键值的简单实现
2016/11/04 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
Django分页功能的实现代码详解
2019/07/29 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
社区十八大感言
2014/01/19 职场文书
高一数学教学反思
2014/02/07 职场文书
记帐员岗位责任制
2014/02/08 职场文书
2015年小学远程教育工作总结
2015/07/28 职场文书
初中班级口号霸气押韵
2015/12/24 职场文书
浅谈redis缓存在项目中的使用
2021/05/20 Redis
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers