贴吧ID显示

显示用户原账号和发贴记录信息

目前為 2017-07-12 提交的版本,檢視 最新版本

// ==UserScript==
// @name        贴吧ID显示
// @author      Sjmr
// @include     *://tieba.baidu.com/*
// @version     1.3
// @run-at      document-end
// @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.innerText;
		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;}
		user.setAttribute('style', 'max-width: 160px;');
		var id = decodeURIComponent(user.href.split('=')[1].split('&')[0]);
		var bar = encodeURIComponent(document.querySelector('#wd1').value);
		var link1 = bar ? '<a href="/f/search/ures?ie=utf-8&kw=' + bar + '&qw=&rn=100&un=' + encodeURIComponent(id) + '&sm=1" target="_blank">吧内搜</a> | ' : '';
		var link2 = '<a href="/f/search/ures?ie=utf-8&kw=&qw=&rn=100&un=' + encodeURIComponent(id) + '&sm=1" 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;margin-left:5px;float:left;">' + link1 + link2 + '</div>';
		}
		if (user.innerHTML.search('<br>') == -1) user.innerHTML += '<br><span style="color:#2d64b3;">[' + id + ']</span>';
	}, 200);
}

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});
}