您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Downloads all promo images from a RedBubble promotion page
当前为
// ==UserScript== // @name Redbubble Download Promotional Images // @namespace http://tampermonkey.net/ // @version 0.4.0 // @description Downloads all promo images from a RedBubble promotion page // @author Dylan Nonya // @match https://www.redbubble.com/studio/promote/* // @require https://code.jquery.com/jquery-3.5.1.min.js // @resource customCSS https://raw.githubusercontent.com/DylanBanta/Tampermonkey/master/RedBubble/savebtn.css // @grant GM_getResourceText // @grant GM_addStyle // @run-at document-end // ==/UserScript== var debug = true; var ms = 100; //number of milliseconds for timers //Add custom css var cssTxt = GM_getResourceText("customCSS"); GM_addStyle(cssTxt); //returns a 12 hour clock timestamp //MM/DD/YYYY HH:MM:SS AM/PM function timestamp() { var cd = new Date(); //current date var month = (cd.getMonth() + 1); var year = cd.getFullYear(); var date = cd.getDate(); var hours = cd.getHours(); var min = cd.getMinutes(); var sec = cd.getSeconds(); var amBool = "AM"; if (hours == 0) { hours = 12; //0 is 12 am } else if (hours > 12) { //24 hour clock to 12 hour hours = hours - 12; amBool = "PM"; } if (min <= 9) { min = "0" + min; } if (sec <= 9) { sec = "0" + sec; } var stamp = month + "/" + date + "/" + year + " " + hours + ":" + min + ":" + sec + " " + amBool; return stamp; } //Custom console log, will output caller function and a timestamp in addition to each log //forceOn overload is not required, if passed true the logger will output even if debug is false function logger(data, forceOn) { if (forceOn == null) { //check forceOn forceOn = false; } if (debug || forceOn) { //if debug or forceOn are true var call = logger.caller.name; //get caller function var ts = timestamp(); //get a timestamp //Log caller function, timestamp, and log data console.log( "Caller Function | " + call + "\nTimestamp | " + ts + "\n Log | " + data); } } //Takes strings of html elements and appendeds it to the selector function createElements(elements, selector) { logger(selector); //append element to selector $(selector).append(elements); } //waits for a jQuery element to exist then runs callback function //syntax waitForElement(jQuery selector, function onec element exists, timout in milliseconds) function waitForElement(selector, callback, ms) { if ($(selector).length) { callback(selector); } else { setTimeout(function () { waitForElement(selector, callback); }, ms); } } //saveBtn function function save() { logger("Enter Save"); } //Creates the save button function createSave(select) { logger("createSave Start"); var saveButtonElement = '<div><input type="button" value="Save All" class="saveBtn"/></div>'; //saveBtn html //run createElements with saveButtonElement as element, and select as append location createElements(saveButtonElement, select); //Add save() function to btn click $('.saveBtn').click(function () { save(); //save button function }); logger("createSave end"); } //will be run when script loads function run() { logger("run Start"); var select = ".node_modules--redbubble-design-system-react-Box-styles__box--206r9.node_modules--redbubble-design-system-react-Text-styles__text--NLf2i.node_modules--redbubble-design-system-react-Text-styles__display1--2XY2m"; //check every ms for select to exist, when exists runs createSave waitForElement(select, createSave, ms); logger("run End"); } //When script loads run(); run();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址