Jump to content

User:Tony1/userhighlighter.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
//adapted from [[User:ais523/adminrights.js]]
//
// This script highlights bluelinks to selected users' userpages or talkpages in bodyContent 
 
var userlist=new Array();
 
importScript('User:7/userhighlighter.js');
 
//Highlighting script. Based on [[User:ais523/highlightmyname.js]].
 
function highlightusers_inner(n,h) //node, relevant hyperlink fragment
{
  if (n.nodeType!=1||n.tagName.toLowerCase()!="a") return 0; // not an anchor
  if (n.href.indexOf(wgScript+"?title="+h) == -1 &&
      n.href.indexOf(wgArticlePath.split("$1")[0]+h) == -1) return 0; // to the wrong target
  var u=n.href.split(h)[1];
  if(userlist[u.split("_").join("%20")]==1)
  {
    n.style.backgroundColor="#FACDD5";
  }
  return 1;
}
 
function highlightusers(n) //node
{
  while(n!=null)
  {
    if(highlightusers_inner(n,"User:")) n=n.nextSibling;
    else if(highlightusers_inner(n,"User_talk:")) n=n.nextSibling;
    else if(highlightusers_inner(n,"Special:Contributions:")) n=n.nextSibling;
    else
    {
      if(n.firstChild!=null) highlightusers(n.firstChild);
      n=n.nextSibling;
    }
  }
}
 
addOnloadHook(function() {
    highlightusers(document.getElementById('bodyContent'));
});
 
//[[Category:Wikipedia scripts]]