User:Peoplelikeyou/common.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary Tag: Reverted |
||
Line 1: | Line 1: | ||
//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(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.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]] | |||
Revision as of 05:10, 24 October 2022
//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(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.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]]