显示贴吧原用户名和快捷贴吧搜索
目前為
// ==UserScript==
// @name 贴吧原名
// @author Sjmr
// @include *://tieba.baidu.com/*
// @version 1.4
// @run-at document-start
// @description 显示贴吧原用户名和快捷贴吧搜索
// @icon http://tieba.baidu.com/favicon.ico
// @namespace https://greasyfork.org/users/23790
// ==/UserScript==
function addInfo(){
if (document.querySelector('.user_post_li')) return;
var users = document.querySelectorAll('.d_name');
for (var i = 0; i < users.length; i ++){
var uid = JSON.parse(users[i].getAttribute('data-field')).user_id;
var id = JSON.parse(users[i].lastElementChild.getAttribute('data-field')).un;
var nick = users[i].lastElementChild.innerHTML;
var info = nick != id ? '<li style="color:#2d64b3;" title="ID:' + uid + '">[' + id + ']</li>' : '';
info += '<li class="user_post_li"></li>';
users[i].outerHTML += info;
}
}
function showCard(n){
n ++;
if (n > 5) 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.innerHTML.search('<br>') == -1) user.innerHTML += '<br><span style="color:#f60;">' + id + '</span>';
}, 200);
}
document.addEventListener('DOMContentLoaded', function(){
addInfo();
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
if (MutationObserver){
var target = document.querySelector('#j_p_postlist');
if (target) new MutationObserver(addInfo).observe(target, {childList: true});
new MutationObserver(function(mutations){
var nodeAdded = mutations.filter(function(m){return (m.addedNodes.length == 1 && m.addedNodes[0].id == 'user_visit_card');});
if (nodeAdded.length) showCard(0);
}).observe(document.body, {childList: true});
}
});