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 相关文章推荐
JavaScript入门教程(9) Document文档对象
Jan 31 Javascript
JavaScript格式化数字的函数代码
Nov 30 Javascript
JQuery学习笔录 简单的JQuery
Apr 09 Javascript
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
Aug 22 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
Nov 21 Javascript
Javascript获取当前时间函数和时间操作小结
Oct 01 Javascript
深入浅析javascript立即执行函数
Oct 23 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
Aug 11 Javascript
JavaScript生成验证码并实现验证功能
Sep 24 Javascript
axios 封装上传文件的请求方法
Sep 26 Javascript
微信小程序实现日期格式化和倒计时
Nov 01 Javascript
微信小程序swiper实现文字纵向轮播提示效果
Jan 21 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分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
Yii 快速,安全,专业的PHP框架
2014/09/03 PHP
jquery api参考 visualjquery 中国线路 速度快
2007/11/30 Javascript
js可突破windows弹退效果代码
2008/08/09 Javascript
jquery+json 通用三级联动下拉列表
2010/04/19 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
2012/05/24 Javascript
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
jquery插件开发之实现google+圈子选择功能
2014/03/10 Javascript
javascript学习笔记之10个原生技巧
2014/05/21 Javascript
jQuery实现购物车计算价格功能的方法
2015/03/25 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
Vue实现数字输入框中分割手机号码的示例
2017/10/10 Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
2017/10/27 jQuery
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
JS实现网页烟花动画效果
2020/03/10 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
[52:03]Secret vs VG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
在Python的Django框架中加载模版的方法
2015/07/16 Python
Python编程中归并排序算法的实现步骤详解
2016/05/04 Python
浅谈Pycharm调用同级目录下的py脚本bug
2018/12/03 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
在Python中用GDAL实现矢量对栅格的切割实例
2020/03/11 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
俄罗斯大型在线书店:Читай-город
2019/10/10 全球购物
销售主管的自我评价分享
2014/01/03 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书