您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
DeviantArt gallery - block images from selected artists in Eclipse
- // ==UserScript==
- // @name DeviantBlocker
- // @namespace brandrock.co.za
- // @author Peter Brand
- // @description DeviantArt gallery - block images from selected artists in Eclipse
- // @license GNU GPLv3
- // @include http://www.deviantart.com/*
- // @include https://www.deviantart.com/*
- // @version 4.3
- // @grant GM_getValue
- // @grant GM_setValue
- // @run-at document-start
- // ==/UserScript==
- // @grant GM_log
- (function() {
- //first time scan on load
- document.addEventListener ('DOMContentLoaded', pageInit);
- function buttonAdd(parent, label, title, style, clickEvent){
- var elem = document.createElement('button');
- elem.type = 'button';
- elem.style = style;
- elem.style.zIndex = '99';
- elem.style.position = 'absolute';
- elem.title = title;
- elem.innerHTML = label;
- parent.appendChild(elem);
- elem.addEventListener('click', clickEvent);
- return elem;
- }
- function pageInit() {
- //button to reveal blacklist
- var bdiv = document.getElementById('root');
- var blackText = document.createElement('textarea');
- blackText.style = 'position: absolute; display: none; top:100px; right: 0px; z-index: 99;';
- bdiv.appendChild(blackText);
- buttonAdd(bdiv, '?DAB', 'Click to show blacklisted artists'
- , 'top:0px; right: 0px', function(e){
- var blacklist = GM_getValue('DAGbl2', '|');
- blackText.innerHTML = blacklist;
- blackText.style.display='inline-block';
- });
- blackText.addEventListener('change', function (){
- GM_setValue('DAGbl2', blackText.value)
- });
- }
- function scanImages() {
- var blacklist = GM_getValue('DAGbl2', '|');
- var artSecs = document.querySelectorAll('._2YkEf');
- GM_setValue('DAGdebug', artSecs.length);
- var count = 0;
- //scan all artists sections
- for(var i = artSecs.length; i--;) {
- var artLink = artSecs[i].querySelector('a[data-username]');
- var artist = artLink.getAttribute('data-username');
- var img = artSecs[i].querySelector('img');
- //quick check to see if src has been specified and haven't done this image already
- if (!img.devblok && img.getAttribute('src')>''){
- img.devblok = true;
- img.setAttribute("data-blocked", -1);
- var elem = buttonAdd(artSecs[i], 'x', 'Click to hide/show images from this artist'
- , 'bottom:0px; right: 0px', function(e){
- artistToggle(e, this);
- });
- elem.img = img;
- img.setAttribute('data-artist', artist);
- img.artist = artist;
- var arto = '|' + artist + '|';
- if (blacklist.indexOf(arto) > -1){
- imgHide(img);
- img.isBlocked = true;
- img.setAttribute('data-blocked', 1);
- count++;
- } else {
- img.isBlocked = false;
- img.setAttribute('data-blocked', 0);
- }
- }
- }
- }
- function artistToggle(e, button) {
- //show or hide the images for this artist
- var i, img;
- var blacklist = GM_getValue('DAGbl2', '|');
- var thumbs = document.querySelectorAll('img[data-artist=\'' + button.img.artist + '\']');
- if (button.img.isBlocked){
- //remove from blacklist string - could have used an array, but string is fast enough
- blacklist = blacklist.replace(button.img.artist + '|', '');
- GM_setValue('DAGbl2', blacklist);
- //scan page for all images for this artist and show them
- for(i = thumbs.length; i--;) imgShow(thumbs[i]);
- button.img.isBlocked = false;
- } else {
- //add to blacklist
- blacklist = blacklist + button.img.artist + '|';
- GM_setValue('DAGbl2', blacklist);
- //scan page for all images for this artist and hide them
- for(i = thumbs.length; i--;) imgHide(thumbs[i]);
- button.img.isBlocked = true;
- }
- var event = e || window.event;
- if (!event) return;
- event.cancelBubble = true;
- if (event.stopPropagation) event.stopPropagation();
- }
- function imgHide(img){
- //img.style.opacity = '0.05';
- img.style.visibility = 'hidden';
- }
- function imgShow(img){
- //img.style.opacity = '1';
- img.style.visibility = 'visible';
- }
- setInterval(function() {scanImages();}, 1000);
- }
- )();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址