您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
按住 Ctrl + 鼠标左键将图片另存为 WebP 格式
// ==UserScript== // @name CTRL + 鼠标左键图片另存为 WebP // @namespace http://tampermonkey.net/ // @version 0.2 // @description 按住 Ctrl + 鼠标左键将图片另存为 WebP 格式 // @author DAFEIGEGE // @match *://*/* // @grant none // ==/UserScript== (function() { 'use strict'; // 监听鼠标点击事件 document.addEventListener('mousedown', (e) => { // 检查是否同时按下了 Ctrl 键和鼠标左键 // e.ctrlKey 可以直接判断 Ctrl 键是否按下 // e.button === 0 表示鼠标左键 if (e.ctrlKey && e.button === 0) { // 阻止默认的右键菜单或链接跳转行为 e.preventDefault(); e.stopPropagation(); // 获取点击的图片元素 const target = e.target; if (target.tagName === 'IMG') { const imageUrl = target.src; // 使用 fetch 请求图片数据 fetch(imageUrl) .then(response => response.blob()) .then(blob => { const img = new Image(); const url = URL.createObjectURL(blob); img.onload = function() { const canvas = document.createElement('canvas'); canvas.width = img.width; canvas.height = img.height; const ctx = canvas.getContext('2d'); ctx.drawImage(img, 0, 0); // 将 canvas 内容转换为 WebP 格式的 blob canvas.toBlob(webpBlob => { const downloadLink = document.createElement('a'); downloadLink.href = URL.createObjectURL(webpBlob); downloadLink.download = `image_${Date.now()}.webp`; // 设置文件名 document.body.appendChild(downloadLink); downloadLink.click(); document.body.removeChild(downloadLink); URL.revokeObjectURL(downloadLink.href); URL.revokeObjectURL(url); }, 'image/webp'); }; img.src = url; }) .catch(error => console.error('图片下载或转换失败:', error)); } } }); })();