paste.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // (function(){
  2. var imgReader = function( item ){
  3. var blob = item.getAsFile(),
  4. reader = new FileReader();
  5. // 读取文件后将其显示在网页中
  6. reader.onload = function( e ){
  7. var img = new Image();
  8. img.src = e.target.result;
  9. document.body.appendChild( img );
  10. };
  11. // 读取文件
  12. reader.readAsDataURL( blob );
  13. };
  14. document.getElementById( 'input' ).addEventListener( 'paste', function( e ){
  15. // 添加到事件对象中的访问系统剪贴板的接口
  16. var clipboardData = e.clipboardData,
  17. i = 0,
  18. items, item, types;
  19. if( clipboardData ){
  20. items = clipboardData.items;
  21. if( !items ){
  22. return;
  23. }
  24. item = items[0];
  25. // 保存在剪贴板中的数据类型
  26. types = clipboardData.types || [];
  27. for( ; i < types.length; i++ ){
  28. if( types[i] === 'Files' ){
  29. item = items[i];
  30. break;
  31. }
  32. }
  33. // 判断是否为图片数据
  34. if( item && item.kind === 'file' && item.type.match(/^image\//i) ){
  35. imgReader( item );
  36. }
  37. }
  38. });
  39. // })();