Greasy Fork is available in English.
一键下载Lofter原图,每张图片左下角有一个下载原图按钮
// ==UserScript== // @name Lofter下载助手 // @namespace http://tampermonkey.net/ // @version 1.2 // @description 一键下载Lofter原图,每张图片左下角有一个下载原图按钮 // @author Robert-Stackflow // @match *://*.lofter.com/* // @require https://code.jquery.com/jquery-3.6.0.min.js // @require https://cdn.staticfile.org/jquery-cookie/1.4.1/jquery.cookie.min.js // @grant GM_info // @grant GM_download // @grant GM_openInTab // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // @license MIT // ==/UserScript== var $ = $ || window.$; //获得jquery的$标识符 const window_url = window.location.href; const window_host = window.location.host; (function() { 'use strict'; window.getOriginUrl=(img)=>{ var url=img.attr("src"); if(url==undefined) url=img.attr("imgsrc"); return url.split("?imageView")[0]; } window.getFileName=(url)=>{ var list=url.split("/") return list[list.length-1] } window.downloadImage=(url)=>{ const x = new XMLHttpRequest() x.open("GET", url, true) x.responseType = 'blob' x.onload=function(e) { const url = window.URL.createObjectURL(x.response) const a = document.createElement('a') a.href = url a.target = '_blank' a.download = getFileName(url) a.click() a.remove() } x.send() } if (window_url.indexOf("lofter.com") != -1) { $("div[title='其他'] > div > div:nth-of-type(2) > div > div > a:nth-of-type(1) > span").html("大图/小图切换") $("div[title='其他'] > div > div:nth-of-type(2) > div > div > a:nth-of-type(1)").attr("href","javascript:void(0)") $("div[title='其他'] > div > div:nth-of-type(2) > div > div > a:nth-of-type(1)").click(function() { $("div.imgc > a > img").each(function () { $(this).click(); }); }); $("div[title='其他'] > div > div:nth-of-type(2) > div > div > a:nth-of-type(2) > span").html("下载所有图片") $("div[title='其他'] > div > div:nth-of-type(2) > div > div > a:nth-of-type(2)").attr("href","javascript:void(0)") $("div[title='其他'] > div > div:nth-of-type(2) > div > div > a:nth-of-type(2)").click(function() { var originUrls=[]; $("div.imgc > a > img").each(function () { var originUrl=getOriginUrl($(this)) if(originUrls.indexOf(originUrl)==-1){ originUrls.push(originUrl); } }); for(let item of originUrls) { downloadImage(item); } }); $("body").append("<style>.pic-div,.pic{position: relative;}.hoverlyr,.lnk{display:none !important;}.download-button{backdrop-filter: saturate(180%) blur(20px);background:rgba(222, 222, 222, 0.3);border-radius: 50px;padding:7px;display: inline-block;position: absolute;bottom:12px;font-size: 12px;color:#fff;left:12px;}</style>") setInterval(function(){ $("div.imgc > a > img").each(function () { $(this).attr("src",getOriginUrl($(this))); }); $("div.pic > a > img").each(function () { $(this).attr("src",getOriginUrl($(this))); }); $("#application div[role='button'] > img").each(function () { $(this).attr("src",getOriginUrl($(this))); $(this).attr("data-origin-src",getOriginUrl($(this))); }); $("div.imgc").each(function() { var downloadButtonDom=$(this).find(".download-button"); if(downloadButtonDom.length==0){ var originUrl=getOriginUrl($(this).find("a > img")); var dom=$(`<a class="download-button" href="javascript:void(0)">下载原图</span>`); dom.click(function(){downloadImage(originUrl)}); $(this).append(dom); } }); $("div.pic").each(function() { var downloadButtonDom=$(this).find(".download-button"); if(downloadButtonDom.length==0){ var originUrl=getOriginUrl($(this).find("a > img")); var dom=$(`<a class="download-button" href="javascript:void(0)">下载原图</span>`); dom.click(function(){downloadImage(originUrl)}); $(this).append(dom); } }); $(".m-photo .photo:has(img)").each(function() { var existDom=$(this).find(".pic-div"); var originUrl=getOriginUrl($(this).find("img")); if(existDom.length==0){ var divDom=document.createElement("div"); $(divDom).attr("class","pic-div"); var aDom=document.createElement("a"); $(this).find("img").attr("src",originUrl); $(aDom).append($(this).find("img")); $(aDom).attr("href",originUrl); $(divDom).append(aDom); var downloadButtonDom=$(`<a class="download-button" href="javascript:void(0)">下载原图</span>`); downloadButtonDom.click(function(){downloadImage(originUrl)}); $(divDom).append(downloadButtonDom); $(this).append(divDom); } }); $("#application div[role='button']:has(img)").each(function() { if($(this).children().length>2){ $(this).find("img").each(function(imgDom){ }); var existDom=$(this).find(".pic-div"); var originUrl=getOriginUrl($(this).find("img")); if(existDom.length==0){ var divDom=document.createElement("div"); $(divDom).attr("class","pic-div"); var aDom=document.createElement("a"); $(this).find("img").attr("src",originUrl); $(aDom).append($(this).find("img")); $(aDom).attr("href",originUrl); $(divDom).append(aDom); var downloadButtonDom=$(`<a class="download-button" href="javascript:void(0)">下载原图</span>`); downloadButtonDom.click(function(){downloadImage(originUrl)}); $(divDom).append(downloadButtonDom); $(this).children("p").after(divDom); } }else{ existDom=$(this).find(".pic-div"); originUrl=getOriginUrl($(this).find("img")); if(existDom.length==0){ divDom=document.createElement("div"); $(divDom).attr("class","pic-div"); aDom=document.createElement("a"); $(this).find("img").attr("src",originUrl); $(aDom).append($(this).find("img")); $(aDom).attr("href",originUrl); $(divDom).append(aDom); downloadButtonDom=$(`<a class="download-button" href="javascript:void(0)">下载原图</span>`); downloadButtonDom.click(function(){downloadImage(originUrl)}); $(divDom).append(downloadButtonDom); $(this).append(divDom); } } }); },100); } })();