您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
显示贴吧原用户名和快捷贴吧搜索
当前为
// ==UserScript== // @name 贴吧原名 // @author Sjmr // @include *://tieba.baidu.com/* // @version 1.5 // @run-at document-start // @description 显示贴吧原用户名和快捷贴吧搜索 // @icon http://tieba.baidu.com/favicon.ico // @namespace http://greasyfork.icu/users/23790 // @grant GM_registerMenuCommand // @grant GM_getValue // @grant GM_setValue // ==/UserScript== function Menu(){ var n = ["替换昵称", "使用默认"]; var r = GM_getValue('replaceNick', false); var m = r ? n[1] : n[0]; GM_registerMenuCommand(m, function (){ var replaceNick = r ? false : true; GM_setValue('replaceNick', replaceNick); location.reload(); }, null); } function checkPost(){ if (document.getElementsByClassName('user_post_li').length) return; var users = document.getElementsByClassName('d_name'); for (var i = 0; i < users.length; i ++){ var id = JSON.parse(users[i].lastElementChild.getAttribute('data-field')).un; if (GM_getValue('replaceNick', false)) users[i].lastElementChild.innerHTML = id; else{ var uid = JSON.parse(users[i].getAttribute('data-field')).user_id; var nick = users[i].lastElementChild.innerHTML; var info = nick != id ? '<li style="color:#797c80;" title="ID:' + uid + '">[' + id + ']</li>' : ''; users[i].outerHTML += info + '<li class="user_post_li"></li>' ; } } } function checkComment(){ var at = document.getElementsByClassName('at'); for (var i = 0; i < at.length; i ++){ if (at[i].innerHTML.search('@') != -1) continue; var a = at[i].getAttribute('data-field'); if (a) at[i].innerHTML = JSON.parse(a.replace(/'/g, '"')).un; } } function checkThread(){ if (!document.getElementById('thread_list')) return; var users = document.getElementsByClassName('frs-author-name'); for (var i = 0; i < users.length; i ++) users[i].innerHTML = JSON.parse(users[i].getAttribute('data-field')).un; } function showCard(n){ n ++; if (n > 10) return; setTimeout(function(){ var user = document.querySelector('a.userinfo_username'); if (!user) {showCard(n); return;} var un = user.href.split('=')[1].split('&')[0]; var id = decodeURIComponent(un); var bar = encodeURIComponent(document.querySelector('#wd1').value); var link1 = bar ? '<a href="/f/search/ures?ie=utf-8&kw=' + bar + '&qw=&sm=1&un=' + un + '" target="_blank">吧内搜</a> | ' : ''; var link2 = '<a href="/f/search/ures?ie=utf-8&kw=&qw=&sm=1&un=' + un + '" target="_blank">全吧搜</a>'; if (user.parentNode.innerHTML.search('top:130px') == -1){ var search = document.createElement('div'); user.parentNode.appendChild(search); search.outerHTML = '<div style="position:absolute;right:5px;top:130px;font-size:12px;float:left;">' + link1 + link2 + '</div>'; } if (user.parentNode.innerHTML.search('<br>') == -1){ user.outerHTML += '<br><span style="color:#797c80; font-size:14px;">@' + id + '</span>';} }, 200); } document.addEventListener('DOMContentLoaded', function(){ Menu(); var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; if (MutationObserver){ var post = document.querySelector('#j_p_postlist'); var thread = document.querySelector('#content'); if (thread && GM_getValue('replaceNick', false)){ new MutationObserver(function(mutations){ if (mutations.some(function(m){return (m.target.className == ' j_thread_list clearfix');})) setTimeout(checkThread, 200); }).observe(thread, {attributes:true, subtree:true}); } if (post){ checkPost(); new MutationObserver(checkPost).observe(post, {childList:true}); if (!GM_getValue('replaceNick', false)) return; new MutationObserver(function(mutations){ if (mutations.some(function(m){return (m.addedNodes.length > 1);})) setTimeout(checkComment, 200); }).observe(post, {childList:true, subtree:true}); } new MutationObserver(function(mutations){ if (mutations.some(function(m){return (m.addedNodes.length == 1 && m.addedNodes[0].id == 'user_visit_card');})) showCard(0); }).observe(document.body, {childList:true}); } });