您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Modify Douban usernames in-script CSV format data. Limitations: (1) Only works on PC Douban (https://www.douban.com), and (2) Supports in-script CSV format data only, as Tampermonkey cannot access local files due to security restrictions.
// ==UserScript== // @name Douban Username Alias Modifier // @namespace http://tampermonkey.net/ // @version 1.0 // @author momobitesthedust // @match https://www.douban.com/* // @description Modify Douban usernames in-script CSV format data. Limitations: (1) Only works on PC Douban (https://www.douban.com), and (2) Supports in-script CSV format data only, as Tampermonkey cannot access local files due to security restrictions. // @license MIT // ==/UserScript== (function() { 'use strict'; const userCsvData = ` user_id,alias 123,abc // Add more user ids and aliases as needed `; const userAliasMap = parseCSV(userCsvData); modifyUsernameAlias(userAliasMap); function parseCSV(data) { const lines = data.trim().split('\n'); const result = {}; lines.slice(1).forEach(line => { const [user_id, alias] = line.split(','); if (user_id && alias) { result[user_id.trim()] = alias.trim(); } }); return result; } function modifyUsernameAlias(userAliasMap) { const anchors = document.querySelectorAll('a[href*="https://www.douban.com/people/"]'); anchors.forEach(anchor => { if (anchor.querySelector('img')) { return; } const userIdMatch = anchor.href.match(/people\/([^\/]+)\//); if (userIdMatch && userAliasMap[userIdMatch[1]]) { const alias = userAliasMap[userIdMatch[1]]; anchor.textContent = `${anchor.textContent} [${alias}]`; } }); } })();