这篇文章主要介绍了在网页中实现读取剪贴板粘贴截图功能,即可以把剪贴板的截图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>
|