您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Bypass login on specific websites that block access to mature content without logging in.
// ==UserScript== // @name Bypass login on mature posts // @match *://*.artstation.com/* // @match *://*.deviantart.com/* // @grant none // @version 1.6 // @author - // @license MIT // @description Bypass login on specific websites that block access to mature content without logging in. // @namespace Violentmonkey Scripts // ==/UserScript== (function() { 'use strict'; var done = false; function uncensor() { if (window.location.hostname.endsWith('artstation.com')) { document.querySelector('mature-content')?.remove(); document.querySelector('.matureContent')?.remove(); document.querySelector('.matureContent-hide')?.classList.remove('matureContent-hide'); } if (window.location.hostname.endsWith('deviantart.com')) { if (done==false) { done = true; function replaceBackgroundWithImage(selector) { let element = document.querySelector(selector); if (!element) return; if (!(element.tagName === "DIV" && /^background-image\s*:\s*url/i.test(element.getAttribute("style") || ""))) { return; } //There are images without <figure> element document.querySelector('body > main > div > div > div > div > div:nth-child(2) > div > div:nth-child(2)')?.remove(); //And with <figure> element document.querySelector('body > main > div > div > div > div > figure > div > div > div:nth-child(2)')?.remove(); element.classList.remove(element.classList.item(1)); element.style.backgroundImage = element.style.backgroundImage.replace( /w_\d+,h_\d+/, "w_800,h_800" ); const imageUrl = element.style.backgroundImage.slice(4, -1).replace(/['"]/g, ''); const img = document.createElement('img'); img.src = imageUrl; img.className = element.className; element.replaceWith(img); img.parentElement.classList.remove(img.parentElement.classList.item(0)); } replaceBackgroundWithImage('body > main > div > div > div > div > div:nth-child(2) > div > div > div'); replaceBackgroundWithImage('body > main > div > div > div > div > figure > div > div > div > div'); } } } // Observe DOM changes in case elements load dynamically const observer = new MutationObserver(uncensor); observer.observe(document.body, { childList: true, subtree: true }); })();