您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Turns the text in various subreddits' flair into links
- // ==UserScript==
- // @name Reddit Flair Linkifier
- // @namespace https://greasyfork.org/users/649
- // @version 2.1.7
- // @description Turns the text in various subreddits' flair into links
- // @author Adrien Pyke
- // @match *://*.reddit.com/*
- // @require https://cdn.jsdelivr.net/gh/fuzetsu/userscripts@ec863aa92cea78a20431f92e80ac0e93262136df/wait-for-elements/wait-for-elements.js
- // @grant GM_addStyle
- // ==/UserScript==
- (() => {
- 'use strict';
- GM_addStyle(`
- .flair-link {
- text-decoration: none;
- }
- .flair-link:hover {
- text-decoration: underline;
- }
- `);
- const newLayoutId = '#SHORTCUT_FOCUSABLE_DIV';
- waitForElems({
- sel: [
- // old reddit
- 'span.flair',
- 'span.Comment__authorFlair',
- // new reddit
- `${newLayoutId} span`
- ].join(','),
- onmatch(flair) {
- if (
- flair.childNodes.length !== 1 ||
- flair.childNodes[0].nodeType !== Node.TEXT_NODE ||
- flair.closest('.DraftEditor-root')
- )
- return;
- const newhtml = flair.textContent
- .split(' ')
- .map(segment =>
- segment.match(/^https?:\/\//u)
- ? `<a href="${segment}" class="flair-link" target="_blank" rel="noopener noreferrer">${segment}</a>`
- : segment
- )
- .join(' ');
- if (flair.innerHTML !== newhtml) flair.innerHTML = newhtml;
- }
- });
- })();