您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
在讨论区等地方显示头像
当前为
// ==UserScript== // @name Quicker-显示用户头像 // @version 1.5 // @description 在讨论区等地方显示头像 // @match https://getquicker.net/* // @icon https://files.getquicker.net/_icons/5E5C8C35FDA9E28D6E35D9C7E4EAA498A6069306.png // @grant none // @namespace http://greasyfork.icu/users/1082425 // ==/UserScript== (function() { 'use strict'; function getAvatarImageSrc(uri) { var cachedData = localStorage.getItem(uri); if (cachedData) { var data = JSON.parse(cachedData); if (data.timestamp && Date.now() - data.timestamp < 24 * 60 * 60 * 1000) { return data.src; } else { localStorage.removeItem(uri); // 过期则释放缓存 } } var xhr = new XMLHttpRequest(); xhr.open('GET', uri, false); xhr.send(); if (xhr.status === 200) { var htmlContent = xhr.responseText; var parser = new DOMParser(); var doc = parser.parseFromString(htmlContent, 'text/html'); var xpathResult = doc.evaluate('/html/body/div[1]/div/div[2]/h2/div[1]/img', doc, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null); var avatarImage = xpathResult.singleNodeValue; if (avatarImage) { var newData = { link: uri, src: avatarImage.src, timestamp: Date.now() }; localStorage.setItem(uri, JSON.stringify(newData)); return avatarImage.src; } } return null; } var url = window.location.href; var regex = /^https:\/\/getquicker\.net\/Sharedaction\?code=/i; var isMatch = regex.test(url); if (!isMatch) { var elements = document.querySelectorAll('.avatar'); var userlinks = document.querySelectorAll('.username .user-link , .mb-1 .user-link'); for (var i = 0; i < elements.length; i++) { var element = elements[i]; var userlink = userlinks[i]; var src = getAvatarImageSrc(userlink.href); if (!src) { continue; } var imgElement = document.createElement('img'); var aElement = document.createElement('a'); imgElement.src = src; imgElement.alt = 'Avatar'; imgElement.style.borderRadius = '50%'; var size = Math.min(parseInt(getComputedStyle(element).width), parseInt(getComputedStyle(element).height)); imgElement.style.width = size + 'px'; imgElement.style.height = size + 'px'; aElement.href = userlink.href; aElement.style.width = getComputedStyle(element).width; aElement.style.height = getComputedStyle(element).height; aElement.target = '_blank'; aElement.appendChild(imgElement); element.parentNode.replaceChild(aElement, element); } } })();