// ==UserScript== // @name Extract images for bcy.net // @name:zh 半次元原图收割机 // @namespace https://github.com/cmheia/extract-images-for-bcy // @description Adds a button that get all attached images as original size to every post. // @include http://bcy.net/* // @author cmheia // @version 0.0.1 // @icon http://bcy.net/Public/Image/favicon.ico // @grant GM_setClipboard // @license MPL // @downloadURL https://update.greasyfork.icu/scripts/20732/Extract%20images%20for%20bcynet.user.js // @updateURL https://update.greasyfork.icu/scripts/20732/Extract%20images%20for%20bcynet.meta.js // ==/UserScript== (function () { // 去重 var doUnique = function (arr) { var result = [], hash = {}; for (var i = 0, elem; (elem = arr[i]) !== undefined; i++) { if (!hash[elem]) { result.push(elem); hash[elem] = true; } } return result; }; var extracterImages = function () { var doMatch = function (str) { var regex = new RegExp(/((http|https):\/\/)+(\w+\.)+(\w+)[\w\/\.\-\%\=]*(jpg|jpeg|gif|png|webp)/, "gi"); var strSource = str; var result = doUnique(strSource.match(regex)); if (null === result || 0 === result.length) { return 0; } GM_setClipboard(result.join("\r\n")); return result.length; }; var matched = doMatch(document.getElementsByClassName('post__content')[0].innerHTML); var message = document.getElementById("extracted"); if (0 === matched) { message.innerHTML = "然而并不能收割 (╯#-_-)╯~~~~~~~~~~~~~~~~~╧═╧"; } else if (1 === matched) { message.innerHTML = "搞到这张图啦 (⺻▽⺻ )"; } else if (1 < matched) { message.innerHTML = "搞到 " + matched + " 张图 (⺻▽⺻ )"; } }; // 添加按钮 var addButton = function () { var button = document.createElement('div'); button.innerHTML="收割 ๑乛◡乛๑ (●´∀`●)"; button.addEventListener("click", extracterImages); document.addEventListener("keydown", function (event) { // F9 = 120 // F10 = 121 if (120 === event.keyCode || 121 === event.keyCode) { extracterImages(); } }, true); document.getElementsByClassName('post__info')[0].appendChild(button); }; // 运行 addButton(); }) ();