User:Pathoschild/Scripts/FilterRC.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
// <source lang="javascript">
// Adds a form box to Special:RecentChanges that hides edits by the specified user.
function filterRC() {
if(wgPageName=="Special:Recentchanges") {
// namespace
var frc = {};
// add inputbox
frc.body = document.getElementById('bodyContent');
frc.optionsbox = getElementsByClassName(frc.body,'div','rcoptions')[0];
frc.optionsbox.innerHTML += '<form><input type="text" id="frc_name" /><input type="button" value="filter username" onClick="frc_filter();"></form>';
}
}
function frc_filter() {
// namespace
var frc = {};
// get entries to filter
frc.user = document.getElementById('frc_name').value;
/* filter */
if(!frc.user.match("^\s*$")) {
frc.body = document.getElementById('bodyContent');
// normal RC
if(frc.body.innerHTML.match(/<ul class="special">/)) {
frc.regex = new RegExp('<li>\\(<a[^>]+>diff[^\n]+</span> \\. \\. <a href="\\/wiki\\/User:' + frc.user + '[^\n]+','g');
}
// enhanced RC
else {
frc.regex = new RegExp('<img[^>]+>[^\n]+\\. \\. <a href="\\/wiki\\/User:' + frc.user + '[^\n]+','g');
}
// filter
frc.body.innerHTML = frc.body.innerHTML.replace(frc.regex,'');
}
}
$(filterRC);
// </source>
// <noinclude>[[Category:JavaScript|FilterRC.js]]</noinclude>