您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
This userscript removes the "x followers", "y following" and "Set Status" fields on your own github.com profile page. This is just visual.
// ==UserScript== // @name Remove Social Media for github.com // @description This userscript removes the "x followers", "y following" and "Set Status" fields on your own github.com profile page. This is just visual. // @author ths197 // @license BSD-3-Clause // @namespace https://gist.github.com/ths197 // @include https://github.com // @include https://github.com/* // @noframes // @run-at document-start // @version 0.0.1.20250509081637 // ==/UserScript== "use strict"; // conditions const isOnLoginUsersHomePage = () => document.body.classList.contains("mine"); var state = undefined; const isChanged = () => !state?.isConnected; // getting and removing const getProfile = () => document.body.getElementsByClassName("js-profile-editable-replace")[0]; const socialMediaUrlOptions = ["followers", "following"]; const removeSocialMediaButtons = function (node) { const links = Array.from(node.getElementsByTagName("a")); const anySocialMediaLink = links.find((node) => socialMediaUrlOptions.some((option) => new URLSearchParams(new URL(node.href).search).has("tab", option) ) ); anySocialMediaLink?.parentElement.remove(); Array.from(node.getElementsByClassName("user-status-container")).forEach( (statusContainer) => statusContainer.remove() ); }; // applying const applyChanges = function () { if (isOnLoginUsersHomePage()) { state = getProfile(); if (state != null) { removeSocialMediaButtons(state); } } }; // setting stuff up (boring) const innerObserver = new MutationObserver(function () { if (isChanged()) { applyChanges(); } }); const outerObserver = new MutationObserver(function () { if (isChanged()) { applyChanges(); attachInnerObserver(); } }); const attachInnerObserver = function () { const profile = getProfile(); if (profile != null) { innerObserver.observe(profile.parentElement, { subtree: false, childList: true, }); } }; const attachOuterObserver = () => outerObserver.observe(document.body, { subtree: false, childList: true }); const init = function () { applyChanges(); attachOuterObserver(); attachInnerObserver(); }; if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", init); } else { init(); }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址