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 $.ajax入门应用一
Nov 19 Javascript
js no-repeat写法 背景不重复
Mar 18 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
Mar 01 Javascript
jquery插件jTimer(jquery定时器)使用方法
Dec 23 Javascript
Flexigrid在IE下不显示数据的有效处理方法
Sep 04 Javascript
jQuery通过ajax快速批量提交表单数据
Oct 25 Javascript
jQuery元素选择器实例代码
Feb 06 Javascript
Centos6.8下Node.js安装教程
May 12 Javascript
vue.js中mint-ui框架的使用方法
May 12 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
Jan 31 Javascript
基于javascript实现贪吃蛇经典小游戏
Apr 10 Javascript
Vue实现点击当前行变色
Dec 14 Vue.js
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 截取字符串函数整理(支持gb2312和utf-8)
2010/02/16 PHP
新手学习PHP的一些基础知识分享
2011/07/27 PHP
ThinkPHP中I(),U(),$this-&gt;post()等函数用法
2014/11/22 PHP
php开发工具有哪五款
2015/11/09 PHP
php批量删除操作代码分享
2017/02/26 PHP
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
2013/09/02 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
jQuery 限制输入字符串长度
2016/06/20 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
浅谈React Native 中组件的生命周期
2017/09/08 Javascript
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
node读写Excel操作实例分析
2019/11/06 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
Vue的Eslint配置文件eslintrc.js说明与规则介绍
2020/02/03 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
python获取本机mac地址和ip地址的方法
2015/04/29 Python
Python解析json文件相关知识学习
2016/03/01 Python
Python3实现发送QQ邮件功能(html)
2017/12/15 Python
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
Python 实现选择排序的算法步骤
2018/04/22 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
python 用for循环实现1~n求和的实例
2019/02/01 Python
python爬虫神器Pyppeteer入门及使用
2019/07/13 Python
Python 异常处理Ⅳ过程图解
2019/10/18 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
水上运动奥特莱斯:Wasterports Outlet
2018/08/08 全球购物
英国老牌潮鞋店:Offspring
2019/08/19 全球购物
什么是虚拟内存?虚拟内存有什么优势?
2016/02/09 面试题
运动会演讲稿
2014/05/07 职场文书
地震捐款倡议书
2014/08/29 职场文书
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript