Greasy Fork镜像 支持简体中文。

iqdb Ctrl + V

在 iqdb 中使用 Ctrl + V 上传图片

目前為 2021-06-14 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name iqdb Ctrl + V
  3. // @name:en iqdb Ctrl + V
  4. // @namespace http://tampermonkey.net/
  5. // @version 0.1.2
  6. // @description 在 iqdb 中使用 Ctrl + V 上传图片
  7. // @description:en Upload image to iqdb by Ctrl + V
  8. // @author apkipa
  9. // @match https://www.iqdb.org
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16. function extractImageFilesFromClipboard(event) {
  17. var clipboardData = event.clipboardData || window.clipboardData;
  18. var files = clipboardData.files;
  19. var a = new DataTransfer();
  20.  
  21. for (var i = 0; i < files.length; i++) {
  22. if (files[i].type.indexOf("image") !== -1) {
  23. a.items.add(files[i]);
  24. }
  25. }
  26.  
  27. if (a.files.length < 1) {
  28. return null;
  29. }
  30.  
  31. return a.files;
  32. }
  33.  
  34. function createFilelistFromSingleFile(file) {
  35. var a = new DataTransfer();
  36. a.items.add(file);
  37. return a.files;
  38. }
  39.  
  40. function handlePaste(e) {
  41. var clipboardData, pastedData;
  42.  
  43. var files = extractImageFilesFromClipboard(e);
  44.  
  45. if (files !== null) {
  46. e.stopPropagation();
  47. e.preventDefault();
  48.  
  49. var fileInput = document.getElementById("file");
  50. var formUpload = document.querySelectorAll("input[type=submit]")[0];
  51.  
  52. /* ? Not working here
  53. fileInput.addEventListener("change", () => {
  54. formUpload.form.submit();
  55. });
  56. */
  57.  
  58. fileInput.files = createFilelistFromSingleFile(files[0]);
  59.  
  60. // Automatically submit the pasted image
  61. // (If this is not desired behavior, comment the next line)
  62. formUpload.form.submit();
  63. }
  64. else {
  65. console.log("Not an image, paste event propagated");
  66. }
  67. }
  68.  
  69. window.addEventListener('paste', handlePaste);
  70. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址