贴吧ID显示

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

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

// ==UserScript==
// @name        贴吧ID显示
// @namespace   Sjmr
// @include     *://tieba.baidu.com/*
// @version     1
// @run-at      document-end
// @description 显示用户原账号和发贴记录信息
// @namespace   https://greasyfork.org/users/23790
// ==/UserScript==


var bar = document.querySelector('#wd1').value;

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(){
	setTimeout(function(){
		var user = document.querySelector('.userinfo_username');
		if (user) {
			user.setAttribute('style', 'max-width: 160px;');
		    var id = decodeURIComponent(user.href.split('=')[1].split('&')[0]);
		    var link_1 = '/f/search/ures?ie=utf-8&kw=' + encodeURIComponent(bar) + '&qw=&rn=100&un=' + encodeURIComponent(id) + '&sm=1';
		    var link_2 = '/f/search/ures?ie=utf-8&kw=&qw=&rn=100&un=' + encodeURIComponent(id) + '&sm=1';
		    var search = document.createElement('div');
		    if (user.parentNode.innerHTML.search('top:130px') == -1) {
				user.parentNode.appendChild(search);
		        search.outerHTML = '<div style="position:absolute;right:5px;top:130px;"><div style="font-size:12px;display:inline-block;height:20px;line-height:\
			    20px;margin-left:5px;float:left;"><a href="' + link_1 + '" target="_blank">吧内搜</a> | <a href="' + link_2 + '" target="_blank">全吧搜</a></div></div>';
			}
			var del = document.querySelector('div[style="position:absolute;right:5px;background-color:#F5F7FA;"]');
			if (del) user.parentNode.removeChild(del);
			if (user.innerHTML.search('<br>') == -1) user.innerHTML += '<br>[' + id + ']';
		}
		else { showCard(); }
	},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(mutation){ return (mutation.addedNodes.length == 1 && mutation.addedNodes[0].id == 'user_visit_card') ; });
	    if(nodeAdded.length) showCard();
	}).observe(document.body, { childList: true });
}