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 asp.net 获取当前超链接中的文本
Apr 14 Javascript
Jquery中find与each方法用法实例
Feb 04 Javascript
浅谈EasyUI中编辑treegrid的方法
Mar 01 Javascript
javascript实现的固定位置悬浮窗口实例
Apr 30 Javascript
分享我对JS插件开发的一些感想和心得
Feb 04 Javascript
JS针对Array的各种操作汇总
Nov 29 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
Oct 11 Javascript
jQuery自动或手动图片切换效果
Oct 11 jQuery
JS基于Location实现访问Url、重定向及刷新页面的方法分析
Dec 03 Javascript
JavaScript实现拖拽功能
Feb 11 Javascript
Javascript地址引用代码实例解析
Feb 25 Javascript
微信小程序实现简单文字跑马灯
May 26 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读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
php实现删除指定目录下相关文件的方法
2014/10/20 PHP
php通过淘宝API查询IP地址归属等信息
2015/12/25 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
基于JQuery的列表拖动排序实现代码
2013/10/01 Javascript
Javascript 命名空间模式
2013/11/01 Javascript
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
jQuery+easyui中的combobox实现下拉框特效
2015/02/27 Javascript
jQuery简单tab切换效果实现方法
2015/04/08 Javascript
JS实现下拉菜单赋值到文本框的方法
2015/08/18 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
Angular中$state.go页面跳转并传递参数的方法
2017/05/09 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
vue实现微信二次分享以及自定义分享的示例
2019/03/20 Javascript
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
python正则匹配查询港澳通行证办理进度示例分享
2013/12/27 Python
Python随机读取文件实现实例
2017/05/25 Python
python里使用正则的findall函数的实例详解
2017/10/19 Python
python2 与 pyhton3的输入语句写法小结
2018/09/10 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
Python中按值来获取指定的键
2019/03/04 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
python爬取音频下载的示例代码
2020/10/19 Python
css3中transition属性详解
2014/09/02 HTML / CSS
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
时尚设计师手表:The Watch Cabin
2018/10/06 全球购物
经贸日语毕业生自荐信
2013/11/03 职场文书
酒店开业庆典策划方案
2014/05/28 职场文书
艾滋病宣传标语
2014/06/25 职场文书
办理收楼委托书范本
2014/10/09 职场文书
群众路线专项整治方案
2014/10/27 职场文书
如何在向量化NumPy数组上进行移动窗口
2021/05/18 Python
js不常见操作运算符总结
2021/11/20 Javascript
css3新特性的应用示例分析
2022/03/16 HTML / CSS