Greasy Fork is available in English.
Image downloading for most single-image pages, with Ctrl+Click, Shift or MMB-Click combinations
// ==UserScript== // @name Image Download with Ctrl+Click/Shift/MMB [GLOBAL] // @namespace imageSaving // @description Image downloading for most single-image pages, with Ctrl+Click, Shift or MMB-Click combinations // @author NightLancerX // @match *://*/*.jpg* // @match *://*/*.png* // @match *://*/*.jpeg* // @match *://*/*.gif* // @version 2.5 // @homepageURL https://github.com/NightLancer/PixivPreview // @license MIT License // @grant none // @run-at document-end // ==/UserScript== (function() { 'use strict'; let img = document.querySelectorAll('img')[0]; let imgSrc = img.src; let main = function() { let anchor = document.createElement('a'), name; name = (imgSrc.indexOf('?')>-1)? imgSrc.substring(imgSrc.lastIndexOf("/")+1, imgSrc.indexOf('?')): imgSrc.substring(imgSrc.lastIndexOf("/")+1); try {name = decodeURI(name);} catch(e){}; anchor.href = img.src; anchor.target = '_self'; anchor.download = name; document.body.appendChild(anchor); anchor.click(); main = ()=>{}; }; //save with Ctrl+Click img.onclick = function(e){ if (e.ctrlKey){ e.preventDefault(); main(); } }; //save with Shift document.onkeyup = function(e){ if (e.keyCode == 16){ main(); } }; //save with MMB-click img.onmouseup = function(e){ if (e.button == 1){ main(); } }; })();