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和CSS速查手册
Aug 20 Javascript
firefox和IE系列的相关区别整理 以备后用
Dec 28 Javascript
鼠标经过显示二级菜单js特效
Aug 13 Javascript
轻量级的原生js日历插件calendar.js使用指南
Apr 28 Javascript
JavaScript登录验证码的实现
Oct 27 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
Mar 01 Javascript
vue router 配置路由的方法
Jul 26 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
Apr 01 Javascript
vue实现的封装全局filter并统一管理操作示例
Feb 02 Javascript
使用Vue 自定义文件选择器组件的实例代码
Mar 04 Javascript
JavaScript 禁止用户保存图片的实现代码
Apr 28 Javascript
vue实现导航菜单和编辑文本的示例代码
Jul 04 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实现的功能是显示8条基色色带
2006/10/09 PHP
php下检测字符串是否是utf8编码的代码
2008/06/28 PHP
PHP 文件类型判断代码
2009/03/13 PHP
PHP程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
2015/09/25 PHP
基于PHP微信红包的算法探讨
2016/07/21 PHP
总结对比php中的多种序列化
2016/08/28 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
2019/06/08 PHP
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
2014/09/02 Javascript
JS实现可调整倒计时间代码分享
2015/08/18 Javascript
浅谈javascript中关于日期和时间的基础知识
2016/07/13 Javascript
Angular 中 select指令用法详解
2016/09/29 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
mpvue实现微信小程序快递单号查询代码
2020/04/03 Javascript
初步讲解Python中的元组概念
2015/05/21 Python
python批量添加zabbix Screens的两个脚本分享
2017/01/16 Python
Python引用计数操作示例
2018/08/23 Python
python使用pandas处理大数据节省内存技巧(推荐)
2019/05/05 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
Python3合并两个有序数组代码实例
2020/08/11 Python
python3将变量输入的简单实例
2020/08/19 Python
Rakuten Kobo台湾:电子书、eReaders和Reading应用程式
2017/11/24 全球购物
业务经理岗位职责
2013/11/11 职场文书
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
社区两委对照检查材料
2014/08/23 职场文书
中队活动总结
2014/08/27 职场文书
党员个人查摆剖析材料
2014/10/16 职场文书
在校证明模板
2015/06/17 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
浅谈Python数学建模之整数规划
2021/06/23 Python
使用feign服务调用添加Header参数
2021/06/23 Java/Android