这篇文章主要介绍了在网页中实现读取剪贴板粘贴截图功能,即可以把剪贴板的截图Ctrl+V粘贴到网页的一个输入框中,例如QQ截图、旺旺截图或者其它截图软件。具体代码如下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
   | <!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>
   |