您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Replace GitHub profile picture with a custom image from the user's repository if the image exists
// ==UserScript== // @name GitHub Animated Profile Picture // @namespace https://github.com/PatoFlamejanteTV // @version 1.40 // @description Replace GitHub profile picture with a custom image from the user's repository if the image exists // @author PatoFlamejanteTV // @license MIT // @match *://github.com/* // @grant none // ==/UserScript== (function() { 'use strict'; function checkImage(url) { return new Promise((resolve) => { const img = new Image(); img.onload = () => resolve(true); img.onerror = () => resolve(false); img.src = url; }); } const profilePictureClasses = [ 'avatar mr-2 d-none d-md-block avatar-user', 'avatar avatar-user width-full border color-bg-default', 'avatar circle', ]; const username = window.location.pathname.split('/').filter(Boolean)[0]; const customImageUrl = `https://raw.githubusercontent.com/${username}/${username}/refs/heads/main/anim_pfp/pfp.gif`; console.log("Checking Image:", customImageUrl); function attemptProfilePictureChange(attempts) { checkImage(customImageUrl).then(exists => { if (exists) { profilePictureClasses.forEach(profileClass => { const profilePictures = document.getElementsByClassName(profileClass); Array.from(profilePictures).forEach(img => { img.src = customImageUrl; img.srcset = customImageUrl; }); }); } else if (attempts > 0) { console.log(`Attempt failed. Retrying... (${attempts} attempts left)`); setTimeout(() => attemptProfilePictureChange(attempts - 1), 2000); } else { console.log("Animated PFP not found after multiple attempts."); } }); } attemptProfilePictureChange(3); // Start with 3 attempts })();