您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Turns URLs in chat messages into clickable links without affecting usernames or badges
// ==UserScript== // @name Make ppv.land/ft Chat Links Clickable // @namespace https://ppv.land/ft // @version 1.2.1 // @description Turns URLs in chat messages into clickable links without affecting usernames or badges // @match https://ppv.land/* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // Function to make URLs clickable while preserving styles and usernames function makeLinksClickable() { const messages = document.querySelectorAll('.message-text'); messages.forEach(message => { // Skip if links already processed if (message.dataset.linksProcessed) return; // Separate the username part from the message text const usernameEnd = message.innerHTML.indexOf(':') + 1; const usernamePart = message.innerHTML.slice(0, usernameEnd); const textPart = message.innerHTML.slice(usernameEnd); // Only modify URLs in the text part, preserving any special username styling const urlRegex = /(https?:\/\/[^\s]+)/g; const updatedTextPart = textPart.replace(urlRegex, (url) => `<a href="${url}" target="_blank" style="color: inherit;">${url}</a>`); // Combine the username part and the updated text part message.innerHTML = usernamePart + updatedTextPart; message.dataset.linksProcessed = 'true'; }); } // Run the function initially and whenever new messages are added makeLinksClickable(); const observer = new MutationObserver(makeLinksClickable); observer.observe(document.getElementById('message-list'), { childList: true }); })();