User:Ais523/highlightmyname.js
From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Firefox/Mozilla/Safari: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Internet Explorer: press Ctrl-F5, Opera/Konqueror: press F5.
//This script ([[User:ais523/highlightmyname.js]]) highlights all instances of the //logged-in user's username on pages by giving them a bright red background. It only //checks bodyContent, not titles or sidebars. //<nowiki><pre> function highlightmyname(n,p) //node, parent node { while(n!=null) { if(n.nodeType==3) //text node { if(n.data.toLowerCase().indexOf(wgUserName.toLowerCase())!=-1) { var ix=n.data.toLowerCase().indexOf(wgUserName.toLowerCase()); var t1=ix?document.createTextNode(n.data.substr(0,ix)):null; var t2=document.createTextNode(n.data.substr(ix,wgUserName.length)); var t3=ix+wgUserName.length==n.data.length?null: document.createTextNode(n.data.substr(ix+wgUserName.length)); var s1=document.createElement("SPAN"); s1.style.backgroundColor="#FF0000"; s1.appendChild(t2); var s2=document.createElement("SPAN"); if(t1!=null) s2.appendChild(t1); s2.appendChild(s1); if(t3!=null) s2.appendChild(t3); p.replaceChild(s2,n); if(t3!=null) highlightmyname(t3,s2); //find remaining occurences in the new nodes n=s2.nextSibling; } else n=n.nextSibling; } else { if(n.firstChild!=null) highlightmyname(n.firstChild,n); n=n.nextSibling; } } } addOnloadHook(function() { if(location.href.indexOf("?ais523")==-1&&location.href.indexOf("&ais523")==-1) highlightmyname(document.getElementById('bodyContent').firstChild, document.getElementById('bodyContent')); }); //</pre></nowiki> //[[Category:Wikipedia scripts]]