您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
尽可能避免增加账号的活跃度
// ==UserScript== // @name V2EX Login State Toggle // @version 1.0 // @description 尽可能避免增加账号的活跃度 // @match *://*.v2ex.com/* // @author Wanten // @copyright 2024 Wanten // @license MIT // @supportURL https://github.com/WantenMN/v2ex-userscripts/issues // @icon https://v2ex.com/favicon.ico // @homepageURL https://github.com/WantenMN/v2ex-userscripts // @namespace https://greasyfork.org/en/scripts/509863 // @run-at document-end // @grant none // ==/UserScript== (function () { "use strict"; // Create floating button const button = document.createElement("button"); button.style.position = "fixed"; button.style.bottom = "20px"; button.style.right = "20px"; button.style.padding = "7px"; button.style.borderRadius = "25px"; button.style.cursor = "pointer"; // Function to get value of A2 cookie function getA2CookieValue() { const matches = document.cookie.match(/(?:^|; )A2=([^;]*)/); return matches ? decodeURIComponent(matches[1]) : null; } // Function to check if A2 cookie exists function hasA2Cookie() { return !!getA2CookieValue(); } // Function to remove A2 cookie function removeA2Cookie() { document.cookie = "A2=; domain=.v2ex.com; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; } // Function to set A2 cookie (restoring value from localStorage) function setA2Cookie(value) { const expirationDate = new Date(); expirationDate.setFullYear(expirationDate.getFullYear() + 1); document.cookie = `A2=${value}; domain=.v2ex.com; expires=${expirationDate.toUTCString()}; path=/;`; } // Function to update button color function updateButtonColor() { if (hasA2Cookie()) { button.style.backgroundColor = "green"; button.style.border = "2px solid darkgreen"; } else { button.style.backgroundColor = "yellow"; button.style.border = "2px solid darkorange"; } } // Initialize button color updateButtonColor(); // Add click event listener button.addEventListener("click", () => { if (hasA2Cookie()) { // If A2 cookie exists, save its value to localStorage and remove the cookie const a2Value = getA2CookieValue(); localStorage.setItem("A2", a2Value); removeA2Cookie(); } else { // If A2 cookie doesn't exist, check localStorage const storedA2Value = localStorage.getItem("A2"); if (storedA2Value) { // If found in localStorage, restore the cookie and remove it from localStorage setA2Cookie(storedA2Value); localStorage.removeItem("A2"); } else { // If not found in localStorage, do nothing return; } } // Refresh the page window.location.reload(); }); // Add button to page document.body.appendChild(button); })();