您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Collect cool stuff while staying in the flow. Download them at the end.
// ==UserScript== // @name RedditP Collect // @namespace http://tampermonkey.net/ // @version 0.4 // @description Collect cool stuff while staying in the flow. Download them at the end. // @author Leeroy // @match http://redditp.com/* // @grant GM_addStyle // @grant GM_download // @noframes // @nocompat Chrome // ==/UserScript== /* global rp */ /* WARNING GM_download must be set to Browser API in Tampermonkey settings */ rp.savedURLs = rp.savedURLs || []; if(saveEvent) document.removeEventListener("keyup", saveEvent); GM_addStyle('#timeToNextSlide{width:2.4rem}.sort-link{display:table}#subredditUrl.with-sort{padding-top:0;padding-bottom:0;max-width:145px;white-space:nowrap;}.numberButton.saved,.numberButton.saved.active{background:#00C853;color:#eee!important}.numberButton.saved.downloaded{background:#006429}@keyframes burst{0%{opacity:.6}50%{-webkit-transform:scale(1.8);-ms-transform:scale(1.8);transform:scale(1.8);opacity:0}100%{opacity:0}}body.saved #titleDiv:before{content:"\\2705 ";color:#00C853;position:fixed;width:99%;text-align:right;right:1em;top:1em;font-weight:700;font-size:large}body.confirm:after{-webkit-animation:burst 2s forwards linear;animation:burst 2s forwards linear;content:"\\2705";color:#00C853;background-color:#fff;border-radius:50%;position:fixed;font-size:2rem;line-height:4rem;text-align:center;z-index:999;height:2em;width:2em;margin:auto;top:0;left:0;bottom:0;right:0}'); function getFilename(path) { return path.split('\\').pop().split('/').pop(); } var downloadSaved = function() { // Download collection one by one (must be allowed by user) rp.savedURLs.forEach(function(url) { GM_download(url, getFilename(url)); }); [].map.call(document.querySelectorAll('.numberButton.saved'), function(el) { el.classList.add('downloaded'); }); rp.savedURLs = []; }; rp.saveActive = function() { var activeNumberButton = document.querySelector(".numberButton.active"); var url = rp.photos[rp.session.activeIndex].type === "gfycat" ? document.querySelector("video source").src : rp.photos[rp.session.activeIndex].url; url = url.replace(".gifv",".webm"); var index = rp.savedURLs.indexOf(url); if (index !== -1) { activeNumberButton.classList.remove("saved"); rp.savedURLs.splice(index, 1); checkSaved(); } else { activeNumberButton.classList.add("saved"); rp.savedURLs.push(url); checkSaved(); } }; var saveEvent = function(e) { var S_KEY = 83, D_KEY = 68; if(e.keyCode === S_KEY) { rp.saveActive(); document.body.classList.toggle("confirm", (document.querySelector(".active.saved"))); } if(e.keyCode === D_KEY) { downloadSaved(); } }; document.addEventListener("keyup", saveEvent, false); var checkSaved = function() { document.body.classList.toggle("saved", document.querySelector(".active.saved")); document.body.classList.remove("confirm"); }; var enableLoop = function() { // Always enable loop on videos if(rp.photos[rp.session.activeIndex].type !== "image") document.querySelector("video").loop = true; }; var observer = (function() { // select the target node var target = document.querySelector('#pictureSlider'); // create an observer instance var observer = new MutationObserver(function(mutations) { checkSaved(); // On the first mutation the video element isn't ready yet if(mutations[0].removedNodes.length) enableLoop(); }); // pass in the target node, as well as the observer options observer.observe(target, {childList: true}); return observer; })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址