SDMB Avatars

Display and view avatars on the SDMB

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name           SDMB Avatars
// @namespace      SDMB_Avatars
// @description    Display and view avatars on the SDMB
// @include        http://boards.straightdope.com/sdmb/*
// @grant          none
// @version 1.5
// ==/UserScript==
(function() 
 {

// A user script based avatar system for the SDMB. By Polerius, Spinky, and Crazyhorse
// Last update: March 11, 2014 - added option to use old board smileys

// ADDING YOUR AVATAR
// To add your own avatar so that you and other users of the script see it by your posts, edit your SDMB profile
// to include the line "SDMB Avatar: (URL to avatar)" in any area of your profile. example: "SDMB Avatar: www.images.com/myimage.jpg"
// After adding or changing an avatar URL in your profile it can take up to an hour for the new avatar to appear.

// SETTING THE DEFAULT DISPLAY SIZE
// The display size of avatars is set to 50x50 pixels by default. This size can be changed in the code 
// immediately below this comment. (ex. if you change "50" to "100", avatars will be displayed at 100x100)


var imgsize="80";


// Hovering the mouse over an avatar while the Alt key is held down will display the avatar at full size.


// CUSTOM-ASSIGNED AVATARS
// Optionally add SDMB usernames and URLs in the list below to assign custom avatars to any posters.
// This can be used to block a given avatar by overriding their avatar choice, or to assign
// avatars to individual posters for any reason.

// Use the format <'username' : 'URL'> as shown in the examples below to add to the list.



var CustomAvatars = 	{

				'SDMB Username' : 'http://link.to.image/image.jpg',

				'SdMb username 2' : 'http://another.image.link/image2.gif',
				
				'sdmb username 3' : 'http://another.link/image3.png' //<-- no comma after the final entry

				};


// DEFAULT AVATAR
// Optionally choose a default avatar to display for all posters without avatars. Enter the URL to an image between 
// the quotation marks in the line below this comment. Example: DefaultAvatar = "http://path.to.image/default_user.jpg";
// Set the URL to "" to disable this feature. 

var DefaultAvatar = "";  


// BANNED USER AVATAR
// Optionally choose a default avatar to display for any poster who has been banned. 
// Edit the line below this comment as with DefaultAvatar above, specifying a URL to an image for all banned users
// Example: BannedAvatar = "http://url.to.image/banned_user.jpg"   Set the URL to "" to disable this feature

var BannedAvatar = "";


//Use old SDMB Smileys
//If this is on the old (Pre March 2014 board upgrade) smileys will be displayed
//to you and other users of the script instead of the newer ones.

var UseOldSmileys = "on"; //set to "on" or "off"


// Happy Avataring


if (UseOldSmileys.toLowerCase() == "on")
{
window.addEventListener('load', function() { 
var images = document.getElementsByTagName('img'); 
for (var i = 0; i < images.length; i++) { 
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/smile.gif', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAflBMVEXAwMAAAACCZgCFaACIawCJbACJbQCNcQCOcQCQdACSdQCUdwCZfACdfwCfggCgggCihQClhwCpjACqjQCsjgCtjwCxkwC1lwC2mAC5mwC8ngDBowDFpgDGpwDNrgDQsQDRsgDTtADYuQDevgDgwQDjwwDqygDtzQDz0wD31wBBwt/MAAAAAXRSTlMAQObYZgAAAI1JREFUCB0FgDFKBEEABKtnN7hTLhD8gML5/+eYGqiJIKKBrNNTEgACIECA8GhX3xECuUY72+NTNnIdI4i6H+yQPPOUvHIfGHlUUEHPSR62RDvb42/+7pREq0sXO8sRl22rDNqXOdu23y0bPzeXt9vV9us0lyF3Ix8Ap1kN5BLVzqUECGeXXQgBIAAC/ANkLmjbVUdosQAAAABJRU5ErkJggg==');
			
images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/confused.gif', 'data:image/gif;base64,R0lGODlhDwAWAPQbAAAAAGYAh2gAimoAjm0Akm4AlHIAmXQAnHgAo3sAp34Aq4AAsIMAtIYAuIkAvowAwY0AwpEAyZQAzpkA1Z0A254A3aAA4KUA6KcA66wA8q8A9wAAAAAAAAAAAAAAAAAAACH5BAUAABsALAAAAAAPABYAAAWS4LYBokiW56iqJ5muZgm/tGzfco3iPA78P96PMpFAGsHcZWmZRBwLRApwyWgyF4qRkTC0MJofpiL5dV2V6u9CNhsGv4lleWk+owbBTzKhVCpFRwoHBXoAEBESihFHC10DAT8NDxCVDg2OBgQCkSMLCwxAPwWQLQgJAAkIB5oAAZ0mBrIGBZuvLyMAA5C3uCiiNiEAOw==');

images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/eek.gif', 'data:image/gif;base64,R0lGODlhDwAPAPQcAAAAAJ4AAEBA00FB1EdH10lJ10pK2E1N2lBQ21JS3FZW3lpa4F1d4WNj5GRk5Glp52tr6G5u6XJy63p673x88ICA8oWF9IiI9Y2N+JSU+8LP9P///wAAAAAAAAAAAAAAACH5BAUAABwALAAAAAAPAA8AAAV5ICeKQFmOKFdaVjVJJwpcV4ZdbuQAI2BpQNsPyOCpNJukBoNU8gATJGCzlFITpWiSemlSESVJFNgaaxSHEkRMoUxekMYCUSg1HhEJzM5IHAhPDA4ODyYLaIAkCgsMRQEACH8CRioICVglBgSTKZkFBAQDMSkqJpQiIQA7');

images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/mad.gif', 'data:image/gif;base64,R0lGODlhDwAPAPQbAAAAAH8AAIMAAIcAAIoAAI0AAJIAAJYAAJgAAJ4AAKMAAKcAAKsAALEAALQAALcAAL0AAMIAAMwAANAAANUAANwAAOAAAOgAAOsAAPIAAPcAAAAAAAAAAAAAAAAAAAAAACH5BAUAABsALAAAAAAPAA8AAAWB4CaKQFmO6FZWlBQ5JwpcF2C1QKMA45xpGUAF8FogeCqMpoQBTEpGnvASnFUkUAShRLFcMJebBKI7bAESSsXCcjkYCcM5IpE8TYDFoSAoPSARRBAODQsABgMBUg0ADoQMCnEAfSQKC5eRB3ICij0In5oFA5xIPQAFBKOKpSl4rBshADs=');

images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/rolleyes.gif', 'data:image/gif;base64,R0lGODlhDwAPAPQYAAAAABluACN0ACp7DFNTUzOCDDqHETqJEUCMFkaRGVWdIFqhI2SpKmuuLHe5M3u9N4HBOYnIPJPQQ5fTRZvWSKjhTtbo/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUKABgALAAAAAAPAA8AAAVwICaKQFmOKFY+TrMkJwpIkxQ9blIAI0BVAAIl4ggaBjwV0CQxAZCqCcBSolKngECpablcrF6qFhChTKmR83P8iDTJuFJBMG44HhBW7jCg8wAMDYIMLwgAfiQKik6HAVo9CJEGBX2OST1PfX6XKYwpIQA7');

images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/cool.gif', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAgVBMVEXAwMAAAAAyMjL0iT34n05aWlrqRwnqSgvtWxj5plT7tF/sUxLvaiTxdi7yejHyfjTzhDn0iDz1kUP2lUb2l0j6q1j8uGLoPADoPwLpQQTpQwXrTg7sWBbtXBntXhvvZyLvaCPvayXxdS33mUn9wGj+xWzpQgXrTA3uYh7wcCnzgDawz03NAAAAAXRSTlMAQObYZgAAAJJJREFUeAFdz0cWwiAYBGAHkJLeTe+xeP8Dyk+ycha8+TYD3FxAoXLJiJzHwEWv8kqRJeGEk/uxe6ZIo0CDXB1gVbmBLQPOKXaHoYNGIUpqjr2yzoUB7D7w9qU1z4qtyPh3nXXXWsdJytMkXoPRlzUNhhGi8DOPUI27bwoWUNTzcT5ID7r3O9kQKcBLybYG8f9/P3bVB8QITJTdAAAAAElFTkSuQmCC');

images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/tongue.gif', 'data:image/gif;base64,R0lGODlhDwAPAPUoAAAAAAAEAQAZCpoAAKQAAMYAAACYBwCaCwCbCwCeDwCfEQCiFQCjFwClGgCnHQCoHgCsJACwKgCzLgC0LwC3NAC7OQC8OwC/PwDCQwDERgDHSwDKTwDLUQDRWQDTXQDVXwDWYQDbaADgcADkdQDrfwDugwD0jAD4kgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUAACgALAAAAAAPAA8AAAaPQJRQCCgWh0hUURTycDBHJIBUIo1CHY0lAhhOTUaRUeLoKkuA06kkAnEugEcXICKZTib2Z3OZPBJFISMlhFdZWw2AAB4hIkxNTxQQCwdFHAIfIB8dHBlbcgZFGBtGAaZGCKFKFRcYAwQFBAMMCapKERITEgO8C7W2Sg4PDg0LCgcGwEQACQnIoWZJSkbRQkEAOw==');

images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/wink.gif', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAgVBMVEXAwMAAAADv7gDi4ADm5QC3sgHU0QCtpwHBvQHIxQHNygHRzgHZ1wDd2gDx8AC/ugHLxwHb2QDp6AD29gD5+QCkngGmoAGnogGoowGrpQGrpgGuqQGvqgGzrgG1sAG4swG5tQG/uwHCvQHEwQHHxAHT0QDe3ACoogG7twHPywHo5gD32ICcAAAAAXRSTlMAQObYZgAAAJNJREFUeAFdz0VixCAAheE8PEJ84i4Zuf8BB0jbRf/dt+ABngs27zeA0UwEwA9JTHIahX6Cm0VZEKbPVHFYxyjLGBewzTBkpADANKB4Dw80/zs/SeOMso/b319jaywifelIvI+VD41xEEKcYXCoBV1lB/0Uqb+vC2Tt7kvUBpt8Pu4H8ZlP49DVjiagl21TwfHf/75puQf9XW/kzAAAAABJRU5ErkJggg==');

images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/biggrin.gif', 'data:image/gif;base64,R0lGODlhDwAPAPQbAAAAAAB9bQKAbwWEcg2QexWcghefhR+qjSKvkCSykii4liu8mSy9mjHFnzPIoTTKozrRqD7YrUDbr0LdsEjmt0rpuVDxvlP2wln/yNDs/P///wAAAAAAAAAAAAAAAAAAACH5BAUAABsALAAAAAAPAA8AAAVv4CaKQFmO6FZGkMMkJwpQFTVBjXIUwDhbJUrkUTIQeqoKAHMBSAAMBOCoilAsF4vwsUAYByWIaTwGAxwATSatTq8FJYabvW4HSrC2Rr++qw4AdXoAfioFBiV7a4SFKgRHYwGNJAADAwKSMSkqYykhADs=');

images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/redface.gif', 'data:image/gif;base64,R0lGODlhDwAPAPQdAAAAALEAAP9IAP9OAP9RAP9WAP9bAP9dAP9hAP9kAP9rAP9vAP90AP95AP9+AP+CAP+FAP+JAP+PAP+XAP+bAP+dAP+mAP+tAP+zAP+8AP/AAP/JAP/OAAAAAAAAAAAAACH5BAUAAB0ALAAAAAAPAA8AAAWCYCeKQFmOaFdil0VJJwpgmZZh1hQ1wAhcmQ1nk7lUJI5FT4UBcDgADaAyAShVFGCJeCklD6WJhZa55XYKQ0lSsVya4QcDUShBJJOKqdRQHAh8DxEwewt0Az0ADA0OAAGPAIdLAAkKC0olBwUDAksqBgehBgUEnJ4kAASlAp2nMnspIQA7');

images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/frown.gif', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAhFBMVEXAwMAAAABmi+l0l/FKc9lfheUdTMAsWcg4Y89Xf+FojutrkOwOPrcbSb4kUsQpVsYyXsw7ZtFSet5VfeCDpfoGN7ILPLUQQLgRQbkWRbsWRrwqV8ctWsk3Ys4/adNBa9RFb9ZZgOJ+ofcHOLMKO7UXRrweTcAhT8I9Z9JJctl3mvOMrf+di+rsAAAAAXRSTlMAQObYZgAAAJFJREFUCB01wIUNw0AABMHbRzOHman//hJbymjCSH+QGd870ITcYnPPMUE/GMtwtialjUgiY/gM7+zk2CKRGgtna6CNAdH5HGzuIalLhOu9yYzv3b6p1oiD69JT2rnDbhOWiN3++GIUH6s5Ek3Cs02aDbcCSVR13Ma6Cqtihn4owz2U6+V8hiawWBTXC+iPkUZfHjcHgU3Wd+oAAAAASUVORK5CYII=');

images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/dubious.gif', 'data:image/gif;base64,R0lGODlhDwARAPUqAAAAAAkJB3t2P8G7dMK8dcjCeMvFes7IfNLMftXPgNnSgtzVhN3WhN/YhuHah+bfiufgi+rjjO7nj/Hqkfbuk/bulPrylvz0mvz0m/rynfv0nv73nf/4o//4p//4q//5q//5sf/6u//6vf/6wv/7x//7yP/70v/80f/82P/83AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUAACoALAAAAAAPABEAAAafQJVQBSgah0hiKoUylUbFJCBVNJFIoU8HMASgjIArqeSxcIkmQIkEEIVEos6DGy6dTKaRCCxwFEUjJwEAIyEhAgIWDgl/IiVFIB5bABMLCEUfIG4iH5IYFw8IBkUdHB4eHBsYGBQRDAUERaoZGhgWFq0KsANFthUArREQrwUDsUQSEGBFxbxCABANAAcD1dbOzwnU19VnXQDcUUnPYElBADs=');

images[i].src = images[i].src.replace('http://boards.straightdope.com/sdmb/images/smilies/smack.gif', 'data:image/gif;base64,R0lGODlhFQAWAPQgAAAAAG5uboN2Bt/QPOHRPenZP+zaQO3dQfLiQ/bkRPvrRv/vTv/vVv/yX//yZf/zbv/zdP/0gf/1iv/1kf/2l//2mv/2nf/2of/4p//3rP/4q//6s//6uP/7wf/7xP///yH5BAUAACAALAAAAAAVABYAAAbEQJBwSBQGikgigHgcNkFPEADAmSKjUCF1W10ak9qqeAtWjsdlqfQMmEy90MBxy+VU3Z5ukSq2cyaAAB0bGBZwYX5/ExALVBoWExGHa3aAjAmCHJAPk1JuApcAG5pTDwxwb20TCwmYGxkAoA6niByMjVMYF5ARDQsKS1QQqQAUGReADsqsB8HDWhUU0hMDA28JBQTBCsBTEhRubx/jANVeAArV1gIA4+Tt5YfEDZziH+XWZegIBgXW+J324FNnJc0QYkiCAAA7');		
		
} }, false);

}

    function loadImage(header, imgurl) {
        var img = document.createElement('img');

        img.addEventListener('load', function(evt) {
            var img = evt.target;
            if(img.width > 1) {
                img.style.cssFloat = "left";
                img.style.marginRight = "5px";
                img.style.borderWidth = "0";
                img.style.maxWidth = imgsize+"px";
                img.style.maxHeight = imgsize+"px";

                function biggify(evt) {
                    if(!evt.altKey) return;

                    var img = evt.target;
                    img.style.maxWidth = null;
                    img.style.maxHeight = null;
                    img.addEventListener('mouseout', unbiggify);
                }
                function unbiggify(evt) {
                    var img = evt.target;
                    img.style.maxWidth = imgsize+"px";
                    img.style.maxHeight = imgsize+"px";
                    img.removeEventListener('mouseout', unbiggify);
                }
                img.addEventListener('mouseover', biggify);
                img.addEventListener('mousemove', biggify);
                header.insertBefore(img, header.firstChild);
            }
		else if (DefaultAvatar != ""){
			imageurl=DefaultAvatar;
			loadImage(header, imageurl);
		}
        });

        img.src = imgurl;
    }

    var allNameHeaders = document.getElementsByClassName('bigusername');

    for (var i = 0; i < allNameHeaders.length; i++)
    {
    
	var username = allNameHeaders[i].innerHTML;
	var userhref = allNameHeaders[i].href;
	var SplitID = userhref.split("u=");
	var userid1 = SplitID[1];
	var imageurl="http://splitter.august20th.com/sdmbav.rb?userid=" + userid1;
        if(username in CustomAvatars)
            imageurl = CustomAvatars[username];
	var hdr = allNameHeaders[i];
	var title = hdr.parentNode.nextSibling.nextSibling;
	if(title.innerHTML == "BANNED" && BannedAvatar != "") {
            imageurl = BannedAvatar;
      }
        
      loadImage(allNameHeaders[i], imageurl);
      }

 })();