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 相关文章推荐
Ext对基本类型的扩展 ext,extjs,format
Dec 25 Javascript
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
Sep 14 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
Dec 18 Javascript
js数组操作常用方法
May 08 Javascript
extjs 分页使用jsp传递数据示例
Jul 29 Javascript
jQuery实现设置、移除文本框默认值功能
Jan 13 Javascript
TypeError document.getElementById(...) is null错误原因
May 18 Javascript
基于jquery实现人物头像跟随鼠标转动
Aug 23 Javascript
jQuery实现的手机发送验证码倒计时效果代码分享
Aug 24 Javascript
JS修改地址栏参数实例代码
Jun 14 Javascript
js微信应用场景之微信音乐相册案例分享
Aug 11 Javascript
JavaScript继承与聚合实例详解
Jan 22 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
网页上facebook分享功能具体实现
2014/01/26 PHP
PHP实现获取图片颜色值的方法
2014/07/11 PHP
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
javascript smipleChart 简单图标类
2011/01/12 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
原生JavaScript实现进度条
2021/02/19 Javascript
好用的Python编辑器WingIDE的使用经验总结
2016/08/31 Python
轻松实现TensorFlow微信跳一跳的AI
2018/01/05 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
2019/08/12 Python
python中的 zip函数详解及用法举例
2020/02/16 Python
keras 权重保存和权重载入方式
2020/05/21 Python
tensorflow图像裁剪进行数据增强操作
2020/06/30 Python
CSS3中的@keyframes关键帧动画的选择器绑定
2016/06/13 HTML / CSS
canvas实现漂亮的下雨效果的示例
2018/04/18 HTML / CSS
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
惠普墨西哥官方商店:HP墨西哥
2016/12/01 全球购物
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
linux面试题参考答案(5)
2016/11/05 面试题
大学毕业感言100字
2014/02/03 职场文书
干部现实表现材料
2014/02/13 职场文书
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
政府采购方案
2014/06/12 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
求职推荐信范文
2015/03/27 职场文书
运动会观后感
2015/06/09 职场文书
2016春季幼儿园小班开学寄语
2015/12/03 职场文书