میدیاویکی:Gadget-HighlightMyName.js

لە ئینسایکڵۆپیدیای ئازادی ویکیپیدیاوە
تێبینی: دوای پاشەکەوتکردن، پێویستە کاشی وێبگەڕەکەت پاک بکەیتەوە تا گۆڕانکارییەکان ببینیت. بۆ گووگڵ کڕۆم، فایەرفۆکس، مایکرۆسۆفت ئێج و سافاری: پەنجە لەسەر دوگمەی ⇧ Shift ڕاگرە و کرتە لەسەر Reload بکە. بۆ وردەکاری و ڕێنمایییەکان لەسەر وێبگەڕەکانی تر، بڕوانە ئێرە.
var hmn2exception;
try
{
  if(hmn2username==undefined||hmn2username==null) hmn2username="";
}
catch(hmn2exception)
{
  hmn2username="";
}
function highlightmyname(n,p) //node, parent node
{
  while(n!=null)
  {
    if(n.nodeType==3) //text node
    {
      if(n.data.toLowerCase().indexOf(hmn2username.toLowerCase())!=-1)
      {
        var ix=n.data.toLowerCase().indexOf(hmn2username.toLowerCase());
        var t1=ix?document.createTextNode(n.data.substr(0,ix)):null;
        var t2=document.createTextNode(n.data.substr(ix,hmn2username.length));
        var t3=ix+hmn2username.length==n.data.length?null:
          document.createTextNode(n.data.substr(ix+hmn2username.length));
        var s1=document.createElement("span");
        s1.style.backgroundColor="#b2ffe4";
        s1.className= "";
        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;
    }
  }
}

$(function() {
  var bc = document.getElementById('bodyContent');
  if(hmn2username=="") hmn2username=mw.config.get('wgUserName');
  // The two occurrences of 'ais523' in the following line are to prevent conflicts with
  // other scripts I've written; don't change them to your own username (the script will
  // change to your username automatically).
  if(location.href.indexOf("?ais523")==-1&&location.href.indexOf("&ais523")==-1&&
     location.href.indexOf("?action=edit")==-1&&location.href.indexOf("?action=submit")==-1&&
     location.href.indexOf("&action=edit")==-1&&location.href.indexOf("&action=submit")==-1&&
     location.href.indexOf("&action=raw")==-1&&mw.config.get('wgPageName')!="Special:Preferences")
    highlightmyname(bc && bc.firstChild,
                    bc);
});