User:Peoplelikeyou/common.js: Difference between revisions
From Test Wiki
Content deleted Content added
No edit summary Tag: Reverted |
mNo edit summary |
||
| (5 intermediate revisions by one other user not shown) | |||
| Line 1: | Line 1: | ||
// |
//adapted from [[User:ais523/adminrights.js]] |
||
// |
|||
//logged-in user's username on pages by giving them a bright red background. It only |
|||
// This script highlights bluelinks to selected users' userpages or talkpages in bodyContent |
|||
//checks bodyContent, not titles or sidebars. |
|||
var userlist=new Array(); |
|||
//<nowiki><pre> |
|||
function highlightmyname(n,p) //node, parent node |
|||
importScript('User:Peoplelikeyou/userlist.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) |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
return 1; |
|||
} |
|||
function highlightusers(n) //node |
|||
{ |
{ |
||
while(n!=null) |
while(n!=null) |
||
{ |
{ |
||
if(highlightusers_inner(n,"User:")) n=n.nextSibling; |
|||
if(n.nodeType==3) //text node |
|||
else if(highlightusers_inner(n,"User_talk:")) n=n.nextSibling; |
|||
{ |
|||
else if(highlightusers_inner(n,"Special:Contributions:")) n=n.nextSibling; |
|||
if(n.data.toLowerCase().indexOf(mw.config.get('wgUserName').toLowerCase())!=-1) |
|||
{ |
|||
var ix=n.data.toLowerCase().indexOf(mw.config.get('wgUserName').toLowerCase()); |
|||
var t1=ix?document.createTextNode(n.data.substr(0,ix)):null; |
|||
var t2=document.createTextNode(n.data.substr(ix,mw.config.get('wgUserName').length)); |
|||
var t3=ix+mw.config.get('wgUserName').length==n.data.length?null: |
|||
document.createTextNode(n.data.substr(ix+mw.config.get('wgUserName').length)); |
|||
var s1=document.createElement("SPAN"); |
|||
| ⚫ | |||
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 |
else |
||
{ |
{ |
||
if(n.firstChild!=null) |
if(n.firstChild!=null) highlightusers(n.firstChild); |
||
n=n.nextSibling; |
n=n.nextSibling; |
||
} |
} |
||
} |
} |
||
} |
} |
||
| ⚫ | |||
$(function() { |
|||
| ⚫ | |||
if(location.href.indexOf("?ais523")==-1&&location.href.indexOf("&ais523")==-1) |
|||
highlightmyname(document.getElementById('bodyContent').firstChild, |
|||
| ⚫ | |||
}); |
}); |
||
//</pre></nowiki> |
|||
//[[Category:Wikipedia scripts]] |
|||