您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Bypass the "open in app prompt" for nsfw posts
- // ==UserScript==
- // @name Reddit Age Bypass
- // @namespace http://tampermonkey.net/
- // @version 1.02
- // @description Bypass the "open in app prompt" for nsfw posts
- // @author Bababoiiiii
- // @license MIT
- // @match https://www.reddit.com/*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=reddit.com
- // ==/UserScript==
- // Use in Combination with this ublock filter (block this url: www.redditstatic.com/shreddit/*xpromo-nsfw-blocking-modal-*.js)
- // www.redditstatic.com/shreddit*xpromo-nsfw-blocking-modal-*.js$script,domain=www.reddit.com
- // This Ublock filter can be used as a replacement for this script, i dont know if it has any other impact though
- // www.reddit.com##div.prompt
- function log(text) {
- console.log("[Reddit Age Bypass] " + text);
- }
- (function() {
- "use strict";
- function wait_and_remove() {
- clearInterval(wait_for_post);
- wait_for_post = setInterval(() => {
- log("Waiting for post");
- const icon = document.querySelector("span.flex.gap-xs.items-center.pr-xs.truncate > span > faceplate-tracker > a > div");
- if (icon !== null) {
- clearInterval(wait_for_post);
- log("Post found");
- // check if the icon is nsfw -> post is nsfw
- if (icon.querySelector("icon-nsfw") !== null) {
- const blurs = document.querySelectorAll("xpromo-nsfw-blocking-container");
- log(`Post is NSFW, removing ${blurs.length} blurs`);
- blurs.forEach(blur_elem => blur_elem.shadowRoot.querySelector("div.prompt").remove());
- log("Bypass successfull");
- }
- }
- }, 500);
- }
- let wait_for_post;
- wait_and_remove();
- const wait_for_polyfill = setInterval( () => {
- if (window.navigation) {
- clearInterval(wait_for_polyfill);
- window.navigation.addEventListener("navigate", () => wait_and_remove());
- }
- }, 10)
- })();