您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Provides a toggle button for stories on AdultConfessions.com, and hides ads
// ==UserScript== // @name AdultConfessions.com Toggle Stories // @namespace https://adultconfessions.com/ // @version 1.1 // @license GPLv3 // @description Provides a toggle button for stories on AdultConfessions.com, and hides ads // @author ceodoe // @match https://adultconfessions.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=adultconfessions.com // @grant GM_addStyle // @grant GM_getValue // @grant GM_setValue // ==/UserScript== let hiddenPosts = GM_getValue("ACTS_HiddenPosts", new Array(0)); GM_addStyle(` .storyToggler { cursor: pointer; } .post-adverts, div[style="padding-bottom:6px"] { display: none !important; } `); let posts = document.querySelectorAll("div.post"); for(let i = 0; i < posts.length; i++) { // Fix it so that the entire post isn't a link, only the headline let link = posts[i].querySelector(`a[href^="story-"]`); let story = posts[i].querySelector("a > div.story"); let storyID = link.href.match(/([0-9]+)/i)[0]; link.insertAdjacentElement("afterend", story); // Create toggle element let toggleElement = document.createElement("span"); toggleElement.classList.add("storyToggler"); toggleElement.innerHTML = `[Toggle story]`; toggleElement.storyID = storyID; toggleElement.onclick = function() { let post = this.nextElementSibling; if(post.style.display == "none") { post.style.display = "block"; this.innerHTML = `[Toggle story]`; let foundIndex = hiddenPosts.indexOf(this.storyID); if(foundIndex > -1) { hiddenPosts.splice(foundIndex, 1); } } else { post.style.display = "none"; this.innerHTML = `[Toggle story] - ${post.querySelector("a > h1.story_title > span").innerHTML}`; hiddenPosts.push(this.storyID); } GM_setValue("ACTS_HiddenPosts", hiddenPosts); }; // Wrap post contents in a div so we can easily hide all of it posts[i].innerHTML = `<div class="postWrapper">${posts[i].innerHTML}</div>`; posts[i].insertAdjacentElement("afterbegin", toggleElement); // Has post been hidden before? Hide it now if(hiddenPosts.includes(storyID)) { toggleElement.nextElementSibling.style.display = "none"; toggleElement.innerHTML = `[Toggle story] - ${toggleElement.nextElementSibling.querySelector("a > h1.story_title > span").innerHTML}`; } }