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 相关文章推荐
jQuery 核心函数以及jQuery对象
Mar 23 Javascript
基于jquery的$.ajax async使用
Oct 19 Javascript
JavaScript模板入门介绍
Sep 26 Javascript
JS 在指定数组中随机取出N个不重复的数据
Jun 10 Javascript
JavaScript编程中布尔对象的基本使用
Oct 25 Javascript
jQuery事件对象总结
Oct 17 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
Nov 05 Javascript
浅谈js函数三种定义方式 &amp; 四种调用方式 &amp; 调用顺序
Feb 19 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
Feb 08 Javascript
在vue项目中使用sass的配置方法
Mar 20 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
May 16 Javascript
JavaScript实现简单进度条效果
Mar 25 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
NO3第三帝国留言簿制作过程
2006/10/09 PHP
关于PHP session 存储方式的详细介绍
2013/06/25 PHP
PHP过滤★等特殊符号的正则
2014/01/27 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
Add a Picture to a Microsoft Word Document
2007/06/15 Javascript
js模拟弹出效果代码修正版
2008/08/07 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
js 距离某一时间点时间是多少实现代码
2013/10/14 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
Angular2 (RC5) 路由与导航详解
2016/09/21 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
vue-router:嵌套路由的使用方法
2017/02/21 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
微信小程序后端实现授权登录
2020/02/24 Javascript
vue3.0实现插件封装
2020/12/14 Vue.js
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
Python3.7黑帽编程之病毒篇(基础篇)
2020/02/04 Python
使用wxpy实现自动发送微信消息功能
2020/02/28 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
python 对xml解析的示例
2021/02/27 Python
浅析HTML5中的 History 模式
2017/06/22 HTML / CSS
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
捷克玩具商店:Bambule
2019/02/23 全球购物
PyQt QMainWindow的使用示例
2021/03/24 Python
2014年两会学习心得体会
2014/03/10 职场文书
简洁的英文求职信范文
2014/05/03 职场文书
酒店周年庆活动方案
2014/08/21 职场文书
销售人才自我评价范文
2014/09/27 职场文书
2014年质量管理工作总结
2014/12/01 职场文书
python 中的jieba分词库
2021/11/23 Python